cesium-native 0.45.0
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
CesiumGltf::EnumSpec Struct Reference

An object defining the values of an enum. More...

#include <CesiumGltf/EnumSpec.h>

Inheritance diagram for CesiumGltf::EnumSpec:
CesiumUtility::ExtensibleObject CesiumGltf::Enum

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.
 
- Public Member Functions inherited from CesiumUtility::ExtensibleObject
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 JsonValuegetGenericExtension (const std::string &extensionName) const noexcept
 Gets a generic extension with the given name as a CesiumUtility::JsonValue.
 
JsonValuegetGenericExtension (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::EnumValuevalues
 An array of enum values. Duplicate names or duplicate integer values are not allowed.
 
- Public Attributes inherited from CesiumUtility::ExtensibleObject
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
 

Detailed Description

An object defining the values of an enum.

Definition at line 17 of file EnumSpec.h.

Member Function Documentation

◆ getSizeBytes()

int64_t CesiumGltf::EnumSpec::getSizeBytes ( ) const
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.

Friends And Related Symbol Documentation

◆ Enum

friend struct Enum
friend

Definition at line 105 of file EnumSpec.h.

Member Data Documentation

◆ description

std::optional<std::string> CesiumGltf::EnumSpec::description

The description of the enum.

Definition at line 60 of file EnumSpec.h.

◆ name

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.

◆ TypeName

const char* CesiumGltf::EnumSpec::TypeName = "Enum"
staticconstexpr

The original name of this type.

Definition at line 21 of file EnumSpec.h.

◆ values

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.

◆ valueType

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.


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