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::BehaviorClass Class Reference

#include <BehaviorContext.h>

Classes

struct  ScopedBehaviorObject
 

Public Types

using AllocateType = void *(*)(void *userData)
 Hooks to override default memory allocation for the class (AZ_CLASS_ALLOCATOR is used by default)
 
using DeallocateType = void(*)(void *address, void *userData)
 
using DefaultConstructorType = void(*)(void *address, void *userData)
 Default constructor and destructor custom function.
 
using DestructorType = void(*)(void *objectPtr, void *userData)
 
using CopyContructorType = void(*)(void *address, const void *sourceObjectPtr, void *userData)
 Clone object over an existing address.
 
using MoveContructorType = void(*)(void *address, void *sourceObjectPtr, void *userData)
 Move object over an existing address.
 
using ValueHasherType = AZStd::function< size_t(void *)>
 Hash a value of a class.
 
using EqualityComparisonType = bool(*)(const void *lhs, const void *rhs, void *userData)
 Compare values.
 

Public Member Functions

 AZ_CLASS_ALLOCATOR (BehaviorClass, SystemAllocator)
 
BehaviorObject Create () const
 
BehaviorObject Create (void *address) const
 
ScopedBehaviorObject CreateWithScope () const
 
ScopedBehaviorObject CreateWithScope (void *address) const
 
ScopedBehaviorObject CreateWithScope (AZStd::span< BehaviorArgument > arguments) const
 
ScopedBehaviorObject CreateWithScope (void *address, AZStd::span< BehaviorArgument > arguments) const
 
BehaviorObject Clone (const BehaviorObject &object) const
 
BehaviorObject Move (BehaviorObject &&object) const
 
void Destroy (const BehaviorObject &object) const
 
void * Allocate () const
 Allocate a class, NO CONSTRUCTOR is called, only memory is allocated, call Construct or use Create to allocate and create the object.
 
void Deallocate (void *address) const
 Deallocate a class, NO DESTRUCTOR is called, only memory is free, call Destruct or use Destroy to destroy and free the object.
 
AZ::AttributeFindAttribute (const AttributeId &attributeId) const
 
bool HasAttribute (const AttributeId &attributeId) const
 
const BehaviorMethodFindMethodByReflectedName (const AZStd::string &reflectedName) const
 
bool IsMethodOverloaded (const AZStd::string &string) const
 
AZStd::vector< BehaviorMethod * > GetOverloads (const AZStd::string &string) const
 
AZStd::vector< BehaviorMethod * > GetOverloadsIncludeMethod (BehaviorMethod *method) const
 
AZStd::vector< BehaviorMethod * > GetOverloadsExcludeMethod (BehaviorMethod *method) const
 
void PostProcessMethod (BehaviorContext *context, BehaviorMethod &method)
 
const BehaviorPropertyFindPropertyByReflectedName (AZStd::string_view reflectedName) const
 
const BehaviorMethodFindGetterByReflectedName (AZStd::string_view reflectedName) const
 
const BehaviorMethodFindSetterByReflectedName (AZStd::string_view reflectedName) const
 

Public Attributes

AllocateType m_allocate
 
DeallocateType m_deallocate
 
DefaultConstructorType m_defaultConstructor
 
AZStd::vector< BehaviorMethod * > m_constructors
 
DestructorType m_destructor
 
CopyContructorType m_cloner
 
MoveContructorType m_mover
 
EqualityComparisonType m_equalityComparer
 
void * m_userData
 
AZStd::string m_name
 
AZStd::vector< AZ::Uuidm_baseClasses
 
AZStd::unordered_map< AZStd::string, BehaviorMethod * > m_methods
 
AZStd::unordered_map< AZStd::string, BehaviorProperty * > m_properties
 
AttributeArray m_attributes
 
AZStd::unordered_set< AZStd::stringm_requestBuses
 
AZStd::unordered_set< AZStd::stringm_notificationBuses
 
AZ::Uuid m_typeId
 
IRttiHelperm_azRtti
 
size_t m_alignment
 
size_t m_size
 
BehaviorClassUnwrapperFunction m_unwrapper
 
ValueHasherType m_valueHasher
 
UnwrapperUserData m_unwrapperUserData
 
AZ::Uuid m_wrappedTypeId
 

Detailed Description

Behavior representation of reflected class.


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