Inherits AZ::BehaviorParameter.
Public Member Functions | |
AZ_TYPE_INFO_WITH_NAME_DECL (BehaviorArgument) | |
BehaviorArgument (const BehaviorArgument &)=default | |
BehaviorArgument (BehaviorArgument &&) | |
template<class T > | |
BehaviorArgument (T *value) | |
BehaviorArgument (BehaviorObject *value) | |
Special handling for the generic object holder. | |
BehaviorArgument (BehaviorArgumentValueTypeTag_t, BehaviorObject *value) | |
template<class T > | |
void | Set (T *value) |
void | Set (BehaviorObject *value) |
void | Set (BehaviorArgumentValueTypeTag_t, BehaviorObject *value) |
void | Set (const BehaviorParameter ¶m) |
void | Set (const BehaviorArgument ¶m) |
void * | GetValueAddress () const |
operator BehaviorObject () const | |
Convert to BehaviorObject implicitly for passing generic parameters (usually not known at compile time) | |
template<class T > | |
bool | ConvertTo () |
Converts internally the value to a specific type known at compile time. | |
bool | ConvertTo (const AZ::Uuid &typeId) |
Converts a value to a specific one by typeID (usually when the type is not known at compile time) | |
template<typename T > | |
AZStd::decay_t< T > * | GetAsUnsafe () const |
This function is Unsafe, because it assumes that you have called ConvertTo<T> prior to called it and it returned true (basically mean the BehaviorArgument is converted to T) | |
BehaviorArgument & | operator= (const BehaviorArgument &)=default |
BehaviorArgument & | operator= (BehaviorArgument &&) |
template<typename T > | |
BehaviorArgument & | operator= (T &&result) |
template<typename T > | |
bool | StoreResult (T &&result) |
Stores a value (usually return value of a function). | |
template<typename T , typename = AZStd::enable_if_t<AZStd::is_trivially_destructible_v<AZStd::decay_t<T>>>> | |
void | StoreInTempData (T &&value) |
Used internally to store values in the temp data. | |
template<class T > | |
AZ_FORCE_INLINE void | Set (T *value) |
template<class T > | |
AZ_FORCE_INLINE bool | ConvertTo () |
template<typename T > | |
AZ_FORCE_INLINE AZStd::decay_t< T > * | GetAsUnsafe () const |
template<typename T > | |
AZ_FORCE_INLINE BehaviorArgument & | operator= (T &&result) |
template<typename T > | |
AZ_FORCE_INLINE bool | StoreResult (T &&result) |
Public Member Functions inherited from AZ::BehaviorParameter | |
AZ_TYPE_INFO_WITH_NAME_DECL (BehaviorParameter) | |
Public Attributes | |
void * | m_value |
Pointer to value, keep it mind to check the traits as if the value is pointer, this will be pointer to pointer and use GetValueAddress to get the actual value address. | |
AZStd::function< void()> | m_onAssignedResult |
BehaviorParameter::TempValueParameterAllocator | m_tempData |
Temp data for conversion, etc. while preparing the parameter for a call (POD only) | |
Public Attributes inherited from AZ::BehaviorParameter | |
const char * | m_name |
Uuid | m_typeId |
IRttiHelper * | m_azRtti |
u32 | m_traits |
Friends | |
class | BehaviorDefaultValue |
Additional Inherited Members | |
Public Types inherited from AZ::BehaviorParameter | |
enum | Traits : u32 { TR_POINTER = (1 << 0) , TR_CONST = (1 << 1) , TR_REFERENCE = (1 << 2) , TR_THIS_PTR = (1 << 3) , TR_STRING = (1 << 4) , TR_ARRAY_BEGIN = (1 << 5) , TR_ARRAY_END = (1 << 6) , TR_ARRAY_SIZE = (1 << 7) , TR_INDEX = (1 << 8) , TR_NONE = 0U } |
typedef AZStd::static_buffer_allocator< 32, 32 > | TempValueParameterAllocator |
Temporary POD buffer when we convert parameters on the stack. | |
bool AZ::BehaviorArgument::ConvertTo | ( | ) |
Converts internally the value to a specific type known at compile time.