|
Cogs.Core
|
Contains reflection support. More...
Namespaces | |
| namespace | detail |
| Resepy from: https://developercommunity.visualstudio.com/t/C2607-after-upgrading-to-Visual-Studio-1/1666785. | |
Classes | |
| struct | Attribute |
| An attribute containing metadata or describing behavior of a structure. More... | |
| struct | Attributes |
| Attribute storage for structures. More... | |
| struct | Enumerator |
| Single integral constant enumerator. More... | |
| struct | EnumeratorDef |
| class | Field |
| Field definition describing a single data member of a data structure. More... | |
| struct | FieldWrapper |
| Convenience wrapper for adding attributes during field creation in a type safe manner. More... | |
| struct | GenericAttribute |
| Base attribute type for generic attributes. More... | |
| class | Method |
| Simple method definition. More... | |
| struct | Name |
| Represents an unique name. More... | |
| struct | RegularAttribute |
| Base attribute type for regular attributes. More... | |
| class | Type |
| Represents a discrete type definition, describing a native type class. More... | |
| class | TypeDatabase |
| Manages all Type instances currently created in the system. More... | |
| struct | TypeFlags |
| Type flags controlling type behavior. More... | |
| class | TypeStore |
| Storage class for registered types. More... | |
Typedefs | |
| using | CreateInstance = void *(*)() |
| Object creation function type. Comparable to regular new. | |
| using | ConstructInstance = void *(*)(void *) |
| Object construction function type. Comparable to placement new. | |
| using | DestroyInstance = void(*)(void *) |
| Object destroy function type. Comparable to regular delete. | |
| using | DestructInstance = void(*)(void *) |
| Object destruction function type. Comparable to calling the destructor. | |
| using | TypeId = uint16_t |
| Built in type used to uniquely identify a single type instance. | |
| using | FieldId = uint16_t |
| Type used to index fields. | |
| using | MethodId = uint16_t |
| Type used to index methods. | |
Enumerations | |
| enum struct | FieldFlags : uint16_t { Default = 0 , Pointer = 0x1 , Array = 0x2 , NoSerialize = 0x4 , NoCodeGen = 0x8 } |
| Field flags. More... | |
Functions | |
| FieldFlags | operator| (FieldFlags lhs, FieldFlags rhs) |
| Or operator. | |
| FieldFlags | operator& (FieldFlags lhs, FieldFlags rhs) |
| And operator. | |
| FieldFlags & | operator|= (FieldFlags &lhs, FieldFlags rhs) |
| Or assignment operator. | |
Variables | |
| constexpr size_t | kMaxMethodArguments = 4 |
| Max number of method arguments supported. | |
| constexpr TypeId | NoType = 0xFFFF |
| Definition of no type. | |
| constexpr FieldId | NoField = 0xFFFF |
| No field id. | |
| constexpr MethodId | NoMethod = 0xFFFF |
| No method id. | |
Contains reflection support.
| using Cogs::Reflection::ConstructInstance = typedef void* (*)(void*) |
| using Cogs::Reflection::CreateInstance = typedef void* (*)() |
| using Cogs::Reflection::DestroyInstance = typedef void (*)(void*) |
| using Cogs::Reflection::DestructInstance = typedef void (*)(void *) |
| using Cogs::Reflection::FieldId = typedef uint16_t |
| using Cogs::Reflection::MethodId = typedef uint16_t |
| using Cogs::Reflection::TypeId = typedef uint16_t |
|
strong |
|
inline |
|
inline |
|
inline |
|
constexpr |
Max number of method arguments supported.
Definition at line 25 of file Method.h.
Referenced by Cogs::Reflection::Method::compareSizes(), and Cogs::Reflection::Method::setSizes().
|
constexpr |
No field id.
Definition at line 60 of file Name.h.
Referenced by Cogs::Reflection::Type::getField(), and Cogs::Reflection::Type::getFieldId().
|
constexpr |
|
constexpr |
Definition of no type.
Definition at line 51 of file Name.h.
Referenced by Cogs::Core::EntityStore::addSystem(), Cogs::Reflection::Type::getBase(), Cogs::Reflection::Type::getFieldId(), Cogs::Reflection::TypeDatabase::getType(), Cogs::Reflection::Type::isValid(), and Cogs::Reflection::Type::setBase().