5#include <CesiumGltf/EnumValue.h>
6#include <CesiumGltf/Library.h>
7#include <CesiumUtility/ExtensibleObject.h>
21 static constexpr const char* TypeName =
"Enum";
28 inline static const std::string INT8 =
"INT8";
31 inline static const std::string UINT8 =
"UINT8";
34 inline static const std::string INT16 =
"INT16";
37 inline static const std::string UINT16 =
"UINT16";
40 inline static const std::string INT32 =
"INT32";
43 inline static const std::string UINT32 =
"UINT32";
46 inline static const std::string INT64 =
"INT64";
49 inline static const std::string UINT64 =
"UINT64";
55 std::optional<std::string>
name;
68 std::string valueType = ValueType::UINT16;
74 std::vector<CesiumGltf::EnumValue>
values;
88 accum += int64_t(this->name->capacity() *
sizeof(
char));
90 if (this->description) {
91 accum += int64_t(this->description->capacity() *
sizeof(
char));
Classes for working with glTF models.
Known values for The type of the integer enum value.
An object defining the values of an enum.
EnumSpec()=default
This class is not meant to be instantiated directly. Use Enum instead.
int64_t getSizeBytes() const
Calculates the size in bytes of this object, including the contents of all collections,...
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::vector< CesiumGltf::EnumValue > values
An array of enum values. Duplicate names or duplicate integer values are not allowed.
This class is not meant to be instantiated directly. Use Enum instead.
The base class for objects that have extensions and extras.
int64_t getSizeBytes() const
Calculates the size in bytes of this ExtensibleObject, including all of its extras but NOT including ...