|
| AZ_TYPE_INFO (Value, "{3E20677F-3B8E-4F89-B665-ED41D74F4799}") |
|
| AZ_CLASS_ALLOCATOR (Value, ValueAllocator) |
|
| Value (const Value &) |
|
| Value (Value &&) noexcept |
|
| Value (AZStd::string_view stringView, bool copy) |
|
| Value (SharedStringType sharedString) |
|
| Value (int8_t value) |
|
| Value (uint8_t value) |
|
| Value (int16_t value) |
|
| Value (uint16_t value) |
|
| Value (int32_t value) |
|
| Value (uint32_t value) |
|
| Value (long value) |
|
| Value (unsigned long value) |
|
| Value (long long value) |
|
| Value (unsigned long long value) |
|
| Value (float value) |
|
| Value (double value) |
|
| Value (bool value) |
|
| Value (Type type) |
|
template<class EnumType , class = AZStd::enable_if_t<AZStd::is_enum_v<EnumType>>> |
| Value (EnumType enumType) |
|
template<class T > |
| Value (T *)=delete |
|
Value & | operator= (const Value &) |
|
Value & | operator= (Value &&) noexcept |
|
template<class T > |
auto | operator= (T &&arg) -> AZStd::enable_if_t<!AZStd::is_same_v< AZStd::remove_cvref_t< T >, Value > &&AZStd::is_constructible_v< Value, T >, Value & > |
| Assignment operator to allow forwarding types constructible via Value(T) to be assigned.
|
|
bool | operator== (const Value &rhs) const |
|
bool | operator!= (const Value &rhs) const |
|
void | Swap (Value &other) noexcept |
|
Type | GetType () const |
|
bool | IsNull () const |
|
bool | IsFalse () const |
|
bool | IsTrue () const |
|
bool | IsBool () const |
|
bool | IsNode () const |
|
bool | IsObject () const |
|
bool | IsArray () const |
|
bool | IsOpaqueValue () const |
|
bool | IsNumber () const |
|
bool | IsInt () const |
|
bool | IsUint () const |
|
bool | IsDouble () const |
|
bool | IsString () const |
|
Value & | SetObject () |
|
size_t | MemberCount () const |
|
size_t | MemberCapacity () const |
|
bool | ObjectEmpty () const |
|
Value & | operator[] (KeyType name) |
|
const Value & | operator[] (KeyType name) const |
|
Value & | operator[] (AZStd::string_view name) |
|
const Value & | operator[] (AZStd::string_view name) const |
|
Object::ConstIterator | MemberBegin () const |
|
Object::ConstIterator | MemberEnd () const |
|
Object::Iterator | MutableMemberBegin () |
|
Object::Iterator | MutableMemberEnd () |
|
Object::Iterator | FindMutableMember (KeyType name) |
|
Object::Iterator | FindMutableMember (AZStd::string_view name) |
|
Object::ConstIterator | FindMember (KeyType name) const |
|
Object::ConstIterator | FindMember (AZStd::string_view name) const |
|
Value & | MemberReserve (size_t newCapacity) |
|
bool | HasMember (KeyType name) const |
|
bool | HasMember (AZStd::string_view name) const |
|
Value & | AddMember (KeyType name, const Value &value) |
|
Value & | AddMember (AZStd::string_view name, const Value &value) |
|
Value & | AddMember (KeyType name, Value &&value) |
|
Value & | AddMember (AZStd::string_view name, Value &&value) |
|
void | RemoveAllMembers () |
|
void | RemoveMember (KeyType name) |
|
void | RemoveMember (AZStd::string_view name) |
|
Object::Iterator | RemoveMember (Object::Iterator pos) |
|
Object::Iterator | EraseMember (Object::Iterator pos) |
|
Object::Iterator | EraseMember (Object::Iterator first, Object::Iterator last) |
|
Object::Iterator | EraseMember (KeyType name) |
|
Object::Iterator | EraseMember (AZStd::string_view name) |
|
Object::ContainerType & | GetMutableObject () |
|
const Object::ContainerType & | GetObject () const |
|
Value & | SetArray () |
|
size_t | ArraySize () const |
|
size_t | ArrayCapacity () const |
|
bool | IsArrayEmpty () const |
|
void | ClearArray () |
|
Value & | operator[] (size_t index) |
|
const Value & | operator[] (size_t index) const |
|
Value & | MutableArrayAt (size_t index) |
|
const Value & | ArrayAt (size_t index) const |
|
Array::ConstIterator | ArrayBegin () const |
|
Array::ConstIterator | ArrayEnd () const |
|
Array::Iterator | MutableArrayBegin () |
|
Array::Iterator | MutableArrayEnd () |
|
Value & | ArrayReserve (size_t newCapacity) |
|
Value & | ArrayPushBack (Value value) |
|
Value & | ArrayPopBack () |
|
Array::Iterator | ArrayErase (Array::Iterator pos) |
|
Array::Iterator | ArrayErase (Array::Iterator first, Array::Iterator last) |
|
Array::ContainerType & | GetMutableArray () |
|
const Array::ContainerType & | GetArray () const |
|
void | SetNode (AZ::Name name) |
|
void | SetNode (AZStd::string_view name) |
|
AZ::Name | GetNodeName () const |
|
void | SetNodeName (AZ::Name name) |
|
void | SetNodeName (AZStd::string_view name) |
|
void | SetNodeValue (Value value) |
| Convenience method, sets the first non-node element of a Node.
|
|
Value | GetNodeValue () const |
| Convenience method, gets the first non-node element of a Node.
|
|
Node & | GetMutableNode () |
|
const Node & | GetNode () const |
|
AZ::s64 | GetInt64 () const |
|
void | SetInt64 (AZ::s64) |
|
AZ::u64 | GetUint64 () const |
|
void | SetUint64 (AZ::u64) |
|
bool | GetBool () const |
|
void | SetBool (bool) |
|
double | GetDouble () const |
|
void | SetDouble (double) |
|
AZStd::string_view | GetString () const |
|
size_t | GetStringLength () const |
|
void | SetString (AZStd::string_view) |
|
void | SetString (SharedStringType sharedString) |
|
void | CopyFromString (AZStd::string_view) |
|
const AZStd::any & | GetOpaqueValue () const |
|
void | SetOpaqueValue (AZStd::any) |
|
void | SetNull () |
|
Visitor::Result | Accept (Visitor &visitor, bool copyStrings) const |
|
AZStd::unique_ptr< Visitor > | GetWriteHandler () |
|
Value & | operator[] (const PathEntry &entry) |
|
const Value & | operator[] (const PathEntry &entry) const |
|
Value & | operator[] (const Path &path) |
|
const Value & | operator[] (const Path &path) const |
|
const Value * | FindChild (const PathEntry &entry) const |
|
Value * | FindMutableChild (const PathEntry &entry) |
|
const Value * | FindChild (const Path &path) const |
|
Value * | FindMutableChild (const Path &path) |
|
Value is a typed union of Dom types that can represent the types provdied by AZ::Dom::Visitor. Value can be one of the following types:
- Null: a type with no value, this is the default type for Value
- Bool: a true or false boolean value
- Object: a container with an ordered list of Name/Value pairs, analagous to a JSON object
- Array: a container with an ordered list of Values, analagous to a JSON array
- String: a UTF-8 string
- Int64: a signed, 64-bit integer
- Uint64: an unsigned, 64-bit integer
- Double: a double precision floating point value
- Node: a container with a Name, an ordered list of Name/Values pairs (attributes), and an ordered list of Values (children), analagous to an XML node
- Opaque: an arbitrary value stored in an AZStd::any. This is a non-serializable representation of an entry used only for in-memory options. This is intended to be used as an intermediate value over the course of DOM transformation and as a proxy to pass through types of which the DOM has no knowledge to other systems.
- Note
- Value is a copy-on-write data structure and may be cheaply returned by value. Heap allocated data larger than the size of the value itself (objects, arrays, and nodes) are copied by new Values only when their contents change, so care should be taken in performance critical code to avoid mutation operations such as operator[] to avoid copies. It is recommended that an immutable Value be explicitly be stored as a
const Value
to avoid accidental detach and copy operations.