Wrapper struct to represent "native" function arguments; that is, the set of Value type that the AX grammar supports. NativeArguments have two benefits; they support casting and implicit function matching through FunctionGroups and can be used directly in IR generators (to leverage the AX Value API). Functions can still be generated and called with "non-native" arguments, but in these cases FunctionGroup::execute must result in an explicit signature match.
More...
#include <openvdb_ax/codegen/FunctionTypes.h>
Wrapper struct to represent "native" function arguments; that is, the set of Value type that the AX grammar supports. NativeArguments have two benefits; they support casting and implicit function matching through FunctionGroups and can be used directly in IR generators (to leverage the AX Value API). Functions can still be generated and called with "non-native" arguments, but in these cases FunctionGroup::execute must result in an explicit signature match.
◆ NativeArguments() [1/5]
◆ NativeArguments() [2/5]
| NativeArguments |
( |
const std::initializer_list< Value > & | args | ) |
|
|
inline |
◆ NativeArguments() [3/5]
| NativeArguments |
( |
const std::vector< Value > & | args | ) |
|
|
inlineexplicit |
◆ NativeArguments() [4/5]
| NativeArguments |
( |
NativeArguments && | | ) |
|
|
default |
◆ NativeArguments() [5/5]
| NativeArguments |
( |
const NativeArguments & | | ) |
|
|
default |
◆ AddArg()
| void AddArg |
( |
const Value & | val | ) |
|
|
inline |
◆ Cast()
Cast these arguments to match the given function's signature.
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ operator[]() [1/2]
| Value & operator[] |
( |
size_t | pos | ) |
|
|
inline |
◆ operator[]() [2/2]
| const Value & operator[] |
( |
size_t | pos | ) |
const |
|
inline |
◆ size()