Open 3D Engine AzCore API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::AttributeMemberFunction< R(C::*)(Args...)> Class Template Reference

Inherits AZ::AttributeFunction< R(Args...)>.

Public Types

typedef R(C::* FunctionPtr) (Args...)
 
- Public Types inherited from AZ::AttributeFunction< R(Args...)>
typedef R(* FunctionPtr) (Args...)
 
- Public Types inherited from AZ::Attribute
using ContextDeleter = void(*)(void *contextData)
 

Public Member Functions

 AZ_RTTI ((AttributeMemberFunction, "{F41F655D-87F7-4A87-9412-9AF4B528B142}", R(C::*)(Args...)), AttributeFunction< R(Args...)>)
 
 AZ_CLASS_ALLOCATOR (AttributeMemberFunction< R(C::*)(Args...)>, SystemAllocator)
 
 AttributeMemberFunction (FunctionPtr f)
 
Invoke (void *instance, const Args &... args) override
 
AZ::Uuid GetInstanceType () const override
 
FunctionPtr GetMemberFunctionPtr () const
 
virtual bool IsInvokable () const
 Returns true if this attribute is an invokable function or method.
 
virtual bool CanDomInvoke (const AZ::Dom::Value &arguments) const
 
virtual AZ::Dom::Value DomInvoke (void *instance, const AZ::Dom::Value &arguments)
 
AZ::Dom::Value GetAsDomValue (void *instance) override
 
- Public Member Functions inherited from AZ::AttributeFunction< R(Args...)>
 AZ_RTTI ((AttributeFunction, "{EE535A42-940C-42DE-848D-9C6CE57D8A62}", R(Args...)), Attribute)
 
 AZ_CLASS_ALLOCATOR (AttributeFunction< R(Args...)>, SystemAllocator)
 
 AttributeFunction (FunctionPtr f)
 
virtual R Invoke (void *instance, const Args &... args)
 
virtual AZ::Uuid GetInstanceType () const
 
virtual bool IsInvokable () const
 Returns true if this attribute is an invokable function or method.
 
virtual bool CanDomInvoke (const AZ::Dom::Value &arguments) const
 
virtual AZ::Dom::Value DomInvoke (void *instance, const AZ::Dom::Value &arguments)
 
- Public Member Functions inherited from AZ::Attribute
 AZ_TYPE_INFO_WITH_NAME_DECL (Attribute)
 
 AZ_RTTI_NO_TYPE_INFO_DECL ()
 
void SetContextData (void *contextData, ContextDeleter destroyer)
 
void * GetContextData () const
 
virtual bool IsInvokable () const
 Returns true if this attribute is an invokable function or method.
 
virtual AttributeUniquePtr GetVoidInstanceAttributeInvocable ()
 
virtual bool CanDomInvoke (const AZ::Dom::Value &arguments) const
 
virtual AZ::Dom::Value DomInvoke (void *instance, const AZ::Dom::Value &arguments)
 
virtual AZ::Dom::Value GetAsDomValue (void *instance)
 

Additional Inherited Members

- Static Public Member Functions inherited from AZ::Attribute
static const char * GetTypeName ()
 
static AZ::Name GetTypeField ()
 
static AZ::Name GetInstanceField ()
 
static AZ::Name GetAttributeField ()
 
- Public Attributes inherited from AZ::AttributeFunction< R(Args...)>
FunctionPtr m_function
 
- Public Attributes inherited from AZ::Attribute
bool m_describesChildren = false
 
bool m_childClassOwned = false
 
- Static Protected Attributes inherited from AZ::Attribute
static const AZ::Name s_typeField
 
static const AZ::Name s_instanceField
 
static const AZ::Name s_attributeField
 

Member Function Documentation

◆ CanDomInvoke()

template<class R , class C , class... Args>
virtual bool AZ::AttributeMemberFunction< R(C::*)(Args...)>::CanDomInvoke ( const AZ::Dom::Value arguments) const
inlinevirtual

Returns true if this attribute is invokable, given a set of arguments.

Parameters
argumentsA Dom::Value that must contain an Array of arguments for this invokable attribute.

Reimplemented from AZ::AttributeFunction< R(Args...)>.

◆ DomInvoke()

template<class R , class C , class... Args>
virtual AZ::Dom::Value AZ::AttributeMemberFunction< R(C::*)(Args...)>::DomInvoke ( void *  instance,
const AZ::Dom::Value arguments 
)
inlinevirtual

Attempts to execute this attribute given an array of Dom::Values as parameters.

Parameters
argumentsA Dom::Value that must contain an Array of arguments for this invokable attribute.
Returns
A Dom::Value containing the marshalled result of the function call (null if the call returned void)

Reimplemented from AZ::AttributeFunction< R(Args...)>.

◆ GetAsDomValue()

template<class R , class C , class... Args>
AZ::Dom::Value AZ::AttributeMemberFunction< R(C::*)(Args...)>::GetAsDomValue ( void *  instance)
inlineoverridevirtual

Gets a marshalled Dom::Value representation of this attribute bound to a given instance. By default this is just abbreviated to a marshalled version of the data stored in the attribute, but for invokable attributes, override this method to serializes a pointer to the instance and this attribute

Reimplemented from AZ::Attribute.

◆ GetInstanceType()

template<class R , class C , class... Args>
AZ::Uuid AZ::AttributeMemberFunction< R(C::*)(Args...)>::GetInstanceType ( ) const
inlineoverridevirtual

◆ Invoke()

template<class R , class C , class... Args>
R AZ::AttributeMemberFunction< R(C::*)(Args...)>::Invoke ( void *  instance,
const Args &...  args 
)
inlineoverridevirtual

◆ IsInvokable()

template<class R , class C , class... Args>
virtual bool AZ::AttributeMemberFunction< R(C::*)(Args...)>::IsInvokable ( ) const
inlinevirtual

Returns true if this attribute is an invokable function or method.

Reimplemented from AZ::AttributeFunction< R(Args...)>.


The documentation for this class was generated from the following file: