An object defining the values of an enum. More...
#include <CesiumGltf/EnumSpec.h>
Classes | |
struct | ValueType |
Known values for The type of the integer enum value. More... | |
Public Member Functions | |
int64_t | getSizeBytes () const |
Calculates the size in bytes of this object, including the contents of all collections, pointers, and strings. This will NOT include the size of any extensions attached to the object. Calling this method may be slow as it requires traversing the object's entire structure. | |
![]() | |
template<typename T > | |
bool | hasExtension () const noexcept |
Checks if an extension exists given its static type. | |
template<typename T > | |
const T * | getExtension () const noexcept |
Gets an extension given its static type. | |
template<typename T > | |
T * | getExtension () noexcept |
Gets an extension given its static type. | |
const JsonValue * | getGenericExtension (const std::string &extensionName) const noexcept |
Gets a generic extension with the given name as a CesiumUtility::JsonValue . | |
JsonValue * | getGenericExtension (const std::string &extensionName) noexcept |
Gets a generic extension with the given name as a CesiumUtility::JsonValue . | |
template<typename T , typename... ConstructorArgumentTypes> | |
T & | addExtension (ConstructorArgumentTypes &&... constructorArguments) |
Adds a statically-typed extension to this object. | |
template<typename T > | |
void | removeExtension () |
Removes a statically-typed extension from this object. | |
int64_t | getSizeBytes () const |
Calculates the size in bytes of this ExtensibleObject, including all of its extras but NOT including its extensions. Calling this method may be slow as it requires traversing the entire object. | |
Public Attributes | |
std::optional< std::string > | name |
The name of the enum, e.g. for display purposes. | |
std::optional< std::string > | description |
The description of the enum. | |
std::string | valueType = ValueType::UINT16 |
The type of the integer enum value. | |
std::vector< CesiumGltf::EnumValue > | values |
An array of enum values. Duplicate names or duplicate integer values are not allowed. | |
![]() | |
std::unordered_map< std::string, std::any > | extensions |
The extensions attached to this object. | |
JsonValue::Object | extras |
Application-specific data. | |
JsonValue::Object | unknownProperties |
Unknown properties that exist on this object but do not have any representation in the statically-typed classes. | |
Static Public Attributes | |
static constexpr const char * | TypeName = "Enum" |
The original name of this type. | |
Protected Member Functions | |
EnumSpec ()=default | |
This class is not meant to be instantiated directly. Use Enum instead. | |
Friends | |
struct | Enum |
An object defining the values of an enum.
Definition at line 17 of file EnumSpec.h.
|
inline |
Calculates the size in bytes of this object, including the contents of all collections, pointers, and strings. This will NOT include the size of any extensions attached to the object. Calling this method may be slow as it requires traversing the object's entire structure.
Definition at line 82 of file EnumSpec.h.
|
friend |
Definition at line 105 of file EnumSpec.h.
std::optional<std::string> CesiumGltf::EnumSpec::description |
The description of the enum.
Definition at line 60 of file EnumSpec.h.
std::optional<std::string> CesiumGltf::EnumSpec::name |
The name of the enum, e.g. for display purposes.
Definition at line 55 of file EnumSpec.h.
|
staticconstexpr |
The original name of this type.
Definition at line 21 of file EnumSpec.h.
std::vector<CesiumGltf::EnumValue> CesiumGltf::EnumSpec::values |
An array of enum values. Duplicate names or duplicate integer values are not allowed.
Definition at line 74 of file EnumSpec.h.
std::string CesiumGltf::EnumSpec::valueType = ValueType::UINT16 |
The type of the integer enum value.
Known values are defined in ValueType
.
Definition at line 68 of file EnumSpec.h.