Menu
Lumberyard
C++ API Reference (Version 1.10)

AZ::SerializeContext::ClassElement Struct Reference

A subelement of a class that is reflected to the serialize context. More...

Public Types

enum  Flags
 These flags provide additional details about a class element. More...
 

Public Attributes

const char * m_name
 The name of the class element. More...
 
u32 m_nameCrc
 The CRC32 of m_name. More...
 
Uuid m_typeId
 The unique type ID of the class element. More...
 
size_t m_dataSize
 The size of the class element, in bytes. More...
 
size_t m_offset
 The placement of the class element within the class, in bytes. More...
 
IRttiHelper * m_azRtti
 An interface that is used to support run-time type information. More...
 
GenericClassInfo * m_genericClassInfo
 A pointer to a base class that provides common information about a class type. More...
 
Edit::ElementDatam_editData
 A pointer to the EditContext data, if the class is reflected to the edit context. More...
 
int m_flags
 Additional details about the class element specified using ClassElement::Flags. More...
 

Detailed Description

A subelement of a class that is reflected to the serialize context.

Each time you call ClassInfo::Field(), a ClassElement is added to the ClassData object. A class element can be data or a logical element (a class).

If a class has a direct serializer, it does not use class elements because in that case, the entire class is serialized as one stream.

You typically don't interact with this class directly.

Member Enumeration Documentation

◆ Flags

These flags provide additional details about a class element.

Enumerator
FLG_POINTER 

The element is stored as a pointer, not as a value.

FLG_BASE_CLASS 

The element is a base class of the containing class.

FLG_NO_DEFAULT_VALUE 

The element cannot have a default value.

FLG_DYNAMIC_FIELD 

The element represents a dynamic field (DynamicSerializableField::m_data).

Member Data Documentation

◆ m_azRtti

IRttiHelper* AZ::SerializeContext::ClassElement::m_azRtti

An interface that is used to support run-time type information.

◆ m_dataSize

size_t AZ::SerializeContext::ClassElement::m_dataSize

The size of the class element, in bytes.

◆ m_editData

Edit::ElementData* AZ::SerializeContext::ClassElement::m_editData

A pointer to the EditContext data, if the class is reflected to the edit context.

◆ m_flags

int AZ::SerializeContext::ClassElement::m_flags

Additional details about the class element specified using ClassElement::Flags.

◆ m_genericClassInfo

GenericClassInfo* AZ::SerializeContext::ClassElement::m_genericClassInfo

A pointer to a base class that provides common information about a class type.

This is valid only when a generic class is used.

◆ m_name

const char* AZ::SerializeContext::ClassElement::m_name

The name of the class element.

This is used in XML output and for debugging purposes.

◆ m_nameCrc

u32 AZ::SerializeContext::ClassElement::m_nameCrc

The CRC32 of m_name.

◆ m_offset

size_t AZ::SerializeContext::ClassElement::m_offset

The placement of the class element within the class, in bytes.

◆ m_typeId

Uuid AZ::SerializeContext::ClassElement::m_typeId

The unique type ID of the class element.


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