This class wraps an interface for a map of attribute bindings. These map attributes in AX code to context data. These mappings are one-to-one i.e. each AX name can only map to one data name, however each name can appear as either an AX name or data name or both, i.e. the following sets of bindings are valid: axname: a -> dataname: a axname: b -> dataname: c or axname: a -> dataname: b axname: b -> dataname: a.
More...
#include <openvdb_ax/compiler/AttributeBindings.h>
|
| AttributeBindings ()=default |
|
| AttributeBindings (const std::vector< std::pair< std::string, std::string >> &bindings) |
| Construct a set of attribute bindings from a vector of {ax name, data name} pairs. More...
|
|
| AttributeBindings (const std::initializer_list< std::pair< std::string, std::string >> &bindings) |
| Construct a set of attribute bindings from a vector of {ax name, data name} pairs using an initializer list i.e. {{"axname0", "dataname0"}, {"axname1", "dataname0"}}. More...
|
|
bool | operator== (const AttributeBindings &other) const |
|
void | set (const std::string &axname, const std::string &dataname) |
| Set up a binding. If a data binding exists for this AX name, it will be replaced. If another binding exists for the supplied dataname that will be removed. More...
|
|
void | set (const std::vector< std::pair< std::string, std::string >> &bindings) |
| Set up multiple bindings from a vector of {ax name, data name} pairs. If a data binding exists for any AX name, it will be replaced. If another binding exists for the supplied dataname that will be removed. More...
|
|
const std::string * | dataNameBoundTo (const std::string &axname) const |
| Returns a pointer to the data attribute name string that the input AX attribute name is bound to, or nullptr if unbound. More...
|
|
const std::string * | axNameBoundTo (const std::string &name) const |
| Returns a pointer to the AX attribute name string that a data attribute name is bound to, or nullptr if unbound. More...
|
|
bool | isBoundDataName (const std::string &name) const |
| Returns whether the data attribute has been bound to an AX attribute. More...
|
|
bool | isBoundAXName (const std::string &name) const |
| Returns whether the AX attribute has been bound to a data attribute. More...
|
|
const std::map< std::string, std::string > & | axToDataMap () const |
| Returns the map of AX attribute names to data attribute names. More...
|
|
const std::map< std::string, std::string > & | dataToAXMap () const |
| Returns the map of data attribute names to AX attribute names. More...
|
|
This class wraps an interface for a map of attribute bindings. These map attributes in AX code to context data. These mappings are one-to-one i.e. each AX name can only map to one data name, however each name can appear as either an AX name or data name or both, i.e. the following sets of bindings are valid: axname: a -> dataname: a axname: b -> dataname: c or axname: a -> dataname: b axname: b -> dataname: a.
AttributeBindings |
( |
const std::vector< std::pair< std::string, std::string >> & |
bindings | ) |
|
|
inline |
Construct a set of attribute bindings from a vector of {ax name, data name} pairs.
- Parameters
-
bindings | A vector of ax name data name pairs where the first element is the name in the AX code, and the second is the name in the context data |
AttributeBindings |
( |
const std::initializer_list< std::pair< std::string, std::string >> & |
bindings | ) |
|
|
inline |
Construct a set of attribute bindings from a vector of {ax name, data name} pairs using an initializer list i.e. {{"axname0", "dataname0"}, {"axname1", "dataname0"}}.
- Parameters
-
bindings | A initializer list of ax name data name pairs where the first element is the name in the AX code, and the second is the name in the context data |
const std::string* axNameBoundTo |
( |
const std::string & |
name | ) |
const |
|
inline |
Returns a pointer to the AX attribute name string that a data attribute name is bound to, or nullptr if unbound.
- Parameters
-
name | The name of the attribute in the context data |
const std::map<std::string, std::string>& axToDataMap |
( |
| ) |
const |
|
inline |
Returns the map of AX attribute names to data attribute names.
const std::string* dataNameBoundTo |
( |
const std::string & |
axname | ) |
const |
|
inline |
Returns a pointer to the data attribute name string that the input AX attribute name is bound to, or nullptr if unbound.
- Parameters
-
axname | The name of the attribute in AX |
const std::map<std::string, std::string>& dataToAXMap |
( |
| ) |
const |
|
inline |
Returns the map of data attribute names to AX attribute names.
bool isBoundAXName |
( |
const std::string & |
name | ) |
const |
|
inline |
Returns whether the AX attribute has been bound to a data attribute.
- Parameters
-
name | The name of the attribute in AX |
bool isBoundDataName |
( |
const std::string & |
name | ) |
const |
|
inline |
Returns whether the data attribute has been bound to an AX attribute.
- Parameters
-
name | The name of the attribute in the context data |
void set |
( |
const std::string & |
axname, |
|
|
const std::string & |
dataname |
|
) |
| |
|
inline |
Set up a binding. If a data binding exists for this AX name, it will be replaced. If another binding exists for the supplied dataname that will be removed.
- Parameters
-
axname | The name of the attribute in AX |
dataname | The name of the attribute in the context data |
void set |
( |
const std::vector< std::pair< std::string, std::string >> & |
bindings | ) |
|
|
inline |
Set up multiple bindings from a vector of {ax name, data name} pairs. If a data binding exists for any AX name, it will be replaced. If another binding exists for the supplied dataname that will be removed.
- Parameters
-
bindings | Vector of AX name data name pairs |