Open 3D Engine AzCore API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::JsonUnorderedMultiMapSerializer Class Reference

Inherits AZ::JsonMapSerializer.

Public Member Functions

 AZ_RTTI (JsonUnorderedMultiMapSerializer, "{2D22FFE5-6AED-4D6B-8F69-05C757757037}", JsonMapSerializer)
 
JsonSerializationResult::Result LoadElement (void *outputValue, SerializeContext::IDataContainer *container, const SerializeContext::ClassElement *pairElement, SerializeContext::IDataContainer *pairContainer, const SerializeContext::ClassElement *keyElement, const SerializeContext::ClassElement *valueElement, const rapidjson::Value &key, const rapidjson::Value &value, JsonDeserializerContext &context, bool isMultiMap=false) override
 
JsonSerializationResult::Result Store (rapidjson::Value &outputValue, const void *inputValue, const void *defaultValue, const Uuid &valueTypeId, JsonSerializerContext &context) override
 
JsonSerializationResult::Result Store (rapidjson::Value &outputValue, const void *inputValue, const void *defaultValue, const Uuid &valueTypeId, JsonSerializerContext &context) override
 
virtual JsonSerializationResult::Result Store (rapidjson::Value &outputValue, const void *inputValue, const void *defaultValue, const Uuid &valueTypeId, JsonSerializerContext &context, bool sortResult)
 
- Public Member Functions inherited from AZ::JsonMapSerializer
 AZ_RTTI (JsonMapSerializer, "{9D53A00C-EE25-4B39-A9C5-9EBAEB5CCF26}", BaseJsonSerializer)
 
JsonSerializationResult::Result Load (void *outputValue, const Uuid &outputValueTypeId, const rapidjson::Value &inputValue, JsonDeserializerContext &context) override
 
JsonSerializationResult::Result Store (rapidjson::Value &outputValue, const void *inputValue, const void *defaultValue, const Uuid &valueTypeId, JsonSerializerContext &context) override
 
- Public Member Functions inherited from AZ::BaseJsonSerializer
 AZ_RTTI (BaseJsonSerializer, "{7291FFDC-D339-40B5-BB26-EA067A327B21}")
 
virtual JsonSerializationResult::Result Load (void *outputValue, const Uuid &outputValueTypeId, const rapidjson::Value &inputValue, JsonDeserializerContext &context)
 
virtual JsonSerializationResult::Result Store (rapidjson::Value &outputValue, const void *inputValue, const void *defaultValue, const Uuid &valueTypeId, JsonSerializerContext &context)
 
virtual OperationFlags GetOperationsFlags () const
 Returns the operation flags which tells the Json Serialization how this custom json serializer can be used.
 

Public Attributes

 AZ_CLASS_ALLOCATOR_DECL
 
- Public Attributes inherited from AZ::JsonMapSerializer
 AZ_CLASS_ALLOCATOR_DECL
 

Additional Inherited Members

- Public Types inherited from AZ::BaseJsonSerializer
enum class  ContinuationFlags {
  None = 0 , ResolvePointer = 1 << 0 , ReplaceDefault = 1 << 1 , LoadAsNewInstance = 1 << 2 ,
  IgnoreTypeSerializer = 1 << 3
}
 
enum class  OperationFlags { None = 0 , ManualDefault = 1 << 0 , InitializeNewInstance = 1 << 1 }
 
- Protected Member Functions inherited from AZ::JsonMapSerializer
virtual JsonSerializationResult::Result LoadContainer (void *outputValue, const Uuid &outputValueTypeId, const rapidjson::Value &inputValue, JsonDeserializerContext &context)
 
virtual JsonSerializationResult::Result LoadElement (void *outputValue, SerializeContext::IDataContainer *container, const SerializeContext::ClassElement *pairElement, SerializeContext::IDataContainer *pairContainer, const SerializeContext::ClassElement *keyElement, const SerializeContext::ClassElement *valueElement, const rapidjson::Value &key, const rapidjson::Value &value, JsonDeserializerContext &context, bool isMultiMap=false)
 
virtual JsonSerializationResult::Result Store (rapidjson::Value &outputValue, const void *inputValue, const void *defaultValue, const Uuid &valueTypeId, JsonSerializerContext &context, bool sortResult)
 
virtual bool CanBeConvertedToObject (const rapidjson::Value &outputValue)
 
virtual bool ShouldClearContainer (const JsonDeserializerContext &context) const
 
- Protected Member Functions inherited from AZ::BaseJsonSerializer
JsonSerializationResult::ResultCode ContinueLoading (void *object, const Uuid &typeId, const rapidjson::Value &value, JsonDeserializerContext &context, ContinuationFlags flags=ContinuationFlags::None)
 
JsonSerializationResult::ResultCode ContinueStoring (rapidjson::Value &output, const void *object, const void *defaultObject, const Uuid &typeId, JsonSerializerContext &context, ContinuationFlags flags=ContinuationFlags::None)
 
JsonSerializationResult::ResultCode LoadTypeId (Uuid &typeId, const rapidjson::Value &input, JsonDeserializerContext &context, const Uuid *baseTypeId=nullptr, bool *isExplicit=nullptr)
 
JsonSerializationResult::ResultCode StoreTypeId (rapidjson::Value &output, const Uuid &typeId, JsonSerializerContext &context)
 
JsonSerializationResult::ResultCode ContinueLoadingFromJsonObjectField (void *object, const Uuid &typeId, const rapidjson::Value &value, rapidjson::Value::StringRefType memberName, JsonDeserializerContext &context, ContinuationFlags flags=ContinuationFlags::None)
 Helper function similar to ContinueLoading, but loads the data as a member of 'value' rather than 'value' itself, if it exists.
 
JsonSerializationResult::ResultCode ContinueStoringToJsonObjectField (rapidjson::Value &output, rapidjson::Value::StringRefType newMemberName, const void *object, const void *defaultObject, const Uuid &typeId, JsonSerializerContext &context, ContinuationFlags flags=ContinuationFlags::None)
 Helper function similar to ContinueStoring, but stores the data as a member of 'output' rather than overwriting 'output'.
 
bool IsExplicitDefault (const rapidjson::Value &value)
 
rapidjson::Value GetExplicitDefault ()
 

Member Function Documentation

◆ LoadElement()

JsonSerializationResult::Result AZ::JsonUnorderedMultiMapSerializer::LoadElement ( void *  outputValue,
SerializeContext::IDataContainer container,
const SerializeContext::ClassElement pairElement,
SerializeContext::IDataContainer pairContainer,
const SerializeContext::ClassElement keyElement,
const SerializeContext::ClassElement valueElement,
const rapidjson::Value &  key,
const rapidjson::Value &  value,
JsonDeserializerContext context,
bool  isMultiMap = false 
)
overridevirtual

Reimplemented from AZ::JsonMapSerializer.

◆ Store() [1/3]

JsonSerializationResult::Result AZ::JsonMapSerializer::Store ( rapidjson::Value &  outputValue,
const void *  inputValue,
const void *  defaultValue,
const Uuid valueTypeId,
JsonSerializerContext context 
)
overridevirtual

Write the input value to a rapidjson value if the default value is not null and doesn't match the input value, otherwise an error is returned and sets the rapidjson value to a null value.

Note
The default implementation is to store the object ignoring custom serializers.

Reimplemented from AZ::JsonMapSerializer.

◆ Store() [2/3]

JsonSerializationResult::Result AZ::JsonUnorderedMultiMapSerializer::Store ( rapidjson::Value &  outputValue,
const void *  inputValue,
const void *  defaultValue,
const Uuid valueTypeId,
JsonSerializerContext context 
)
overridevirtual

Write the input value to a rapidjson value if the default value is not null and doesn't match the input value, otherwise an error is returned and sets the rapidjson value to a null value.

Note
The default implementation is to store the object ignoring custom serializers.

Reimplemented from AZ::JsonMapSerializer.

◆ Store() [3/3]

virtual JsonSerializationResult::Result AZ::JsonMapSerializer::Store ( rapidjson::Value &  outputValue,
const void *  inputValue,
const void *  defaultValue,
const Uuid valueTypeId,
JsonSerializerContext context,
bool  sortResult 
)
virtual

Reimplemented from AZ::JsonMapSerializer.


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