Metadata describing a reflected member variable. More...
#include <VariableData.h>
Public Member Functions | |
| constexpr | VariableData (const VariableID &ID, std::string_view name, u32 offset, u32 size, u32 align, TypeCategory category) |
| Construct metadata for a reflected member variable. | |
| constexpr bool | operator< (const VariableData &var) const |
| Compare member variables by memory offset. | |
Public Attributes | |
| VariableID | ID {} |
| Identifier describing the member variable's type. | |
| std::string_view | Name {} |
| Name of the member variable. | |
| u32 | Size {} |
| Size of the member variable in bytes. | |
| u32 | Align {} |
| Alignment requirement in bytes. | |
| u32 | Offset {} |
| Byte offset within the parent type. | |
| TypeCategory | Category = TypeCategory::Unknown |
| Category of the type. | |
Metadata describing a reflected member variable.
Stores reflection metadata for a single member variable, including its identifier, name, memory layout information, and ordering.
VariableData instances are owned by their parent TypeData and are typically stored sorted by memory offset to preserve declaration order.
|
inlineexplicitconstexpr |
Construct metadata for a reflected member variable.
| ID | Unique identifier describing the member variable's type. |
| name | Name of the member variable as declared in the source type. |
| offset | Byte offset of the member variable within its parent type. |
| size | Size of the member variable in bytes. |
| align | Alignment requirement of the member variable in bytes. |
| category | TypeCategory of the Variable. |
|
inlineconstexpr |
Compare member variables by memory offset.
Enables ordering of VariableData instances based on their offset within the parent type. This is primarily used to maintain declaration order.
| var | The VariableData instance to compare against. |
| u32 Raven::VariableData::Align {} |
Alignment requirement in bytes.
| TypeCategory Raven::VariableData::Category = TypeCategory::Unknown |
Category of the type.
| VariableID Raven::VariableData::ID {} |
Identifier describing the member variable's type.
| std::string_view Raven::VariableData::Name {} |
Name of the member variable.
| u32 Raven::VariableData::Offset {} |
Byte offset within the parent type.
| u32 Raven::VariableData::Size {} |
Size of the member variable in bytes.