#include <SerializeContext.h>
Inherited by AZ::SerializeGenericTypeInfo< AZ::Outcome< t_Success, t_Failure > >::GenericClassOutcome, AZ::SerializeGenericTypeInfo< AZStd::array< T, Size > >::GenericClassInfoArray, AZ::SerializeGenericTypeInfo< AZStd::basic_string< E, T, A > >::GenericClassBasicString, AZ::SerializeGenericTypeInfo< AZStd::bitset< NumBits > >::GenericClassBitSet, AZ::SerializeGenericTypeInfo< AZStd::fixed_vector< T, Capacity > >::GenericClassInfoFixedVector, AZ::SerializeGenericTypeInfo< AZStd::forward_list< T, A > >::GenericClassInfoForwardList, AZ::SerializeGenericTypeInfo< AZStd::intrusive_ptr< T > >::GenericClassIntrusivePtr, AZ::SerializeGenericTypeInfo< AZStd::list< T, A > >::GenericClassInfoList, AZ::SerializeGenericTypeInfo< AZStd::map< K, M, C, A > >::GenericClassMap, AZ::SerializeGenericTypeInfo< AZStd::optional< T > >::GenericClassOptional, AZ::SerializeGenericTypeInfo< AZStd::pair< T1, T2 > >::GenericClassPair, AZ::SerializeGenericTypeInfo< AZStd::set< K, C, A > >::GenericClassSet, AZ::SerializeGenericTypeInfo< AZStd::shared_ptr< T > >::GenericClassSharedPtr, AZ::SerializeGenericTypeInfo< AZStd::tuple< Types... > >::GenericClassTuple, AZ::SerializeGenericTypeInfo< AZStd::unique_ptr< T, Deleter > >::GenericClassUniquePtr, AZ::SerializeGenericTypeInfo< AZStd::unordered_map< K, M, H, E, A > >::GenericClassUnorderedMap, AZ::SerializeGenericTypeInfo< AZStd::unordered_multimap< K, M, H, E, A > >::GenericClassUnorderedMultiMap, AZ::SerializeGenericTypeInfo< AZStd::unordered_multiset< K, H, E, A > >::GenericClassUnorderedMultiSet, AZ::SerializeGenericTypeInfo< AZStd::unordered_set< K, H, E, A > >::GenericClassUnorderedSet, AZ::SerializeGenericTypeInfo< AZStd::vector< AZ::u8, A > >::GenericClassByteStream, AZ::SerializeGenericTypeInfo< AZStd::vector< T, A > >::GenericClassInfoVector, AZ::SerializeGenericTypeInfo< ConfigurableStack< StackBaseType > >::GenericConfigurableStackInfo, AZ::SerializeGenericTypeInfo< Data::Asset< T > >::GenericClassGenericAsset, and AZ::SerializeGenericTypeInfo< Internal::RValueToLValueWrapper< T > >::GenericClassWrapper.
Public Member Functions | |
virtual SerializeContext::ClassData * | GetClassData ()=0 |
Return the generic class "class Data" independent from the underlaying templates. | |
virtual size_t | GetNumTemplatedArguments ()=0 |
virtual AZ::TypeId | GetTemplatedTypeId (size_t element)=0 |
virtual AZ::TypeId | GetSpecializedTypeId () const =0 |
By default returns AzTypeInfo<ValueType>::Uuid. | |
virtual AZ::TypeId | GetGenericTypeId () const |
Return the generic Type Id associated with the GenericClassInfo. | |
virtual void | Reflect (SerializeContext *)=0 |
Register the generic class info using the SerializeContext. | |
virtual bool | CanStoreType (const Uuid &typeId) const |
Returns true if the generic class can store the supplied type. | |
virtual AZ::TypeId | GetLegacySpecializedTypeId () const |
Base class that will provide various information for a generic entry.
The difference between Generic id and Specialized id: Generic Id represents the Uuid which represents the inherited GenericClassInfo class(ex. GenericClassBasicString -> AzTypeInfo<GenericClassBasicString>::Uuid Specialized Id represents the Uuid of the class that the GenericClassinfo specializes(ex. GenericClassBasicString -> AzTypeInfo<AZStd::string>::Uuid By default for non-templated classes the Specialized Id is the Uuid returned by AzTypeInfo<ValueType>::Uuid. For specialized classes the Specialized Id is normally made up of the concatenation of the Template Class Uuid and the Template Arguments Uuids using a SHA-1.
|
inlinevirtual |
Returns true if the generic class can store the supplied type.
Reimplemented in AZ::SerializeGenericTypeInfo< AZStd::shared_ptr< T > >::GenericClassSharedPtr, AZ::SerializeGenericTypeInfo< AZStd::intrusive_ptr< T > >::GenericClassIntrusivePtr, and AZ::SerializeGenericTypeInfo< AZStd::unique_ptr< T, Deleter > >::GenericClassUniquePtr.
|
pure virtual |
Return the generic class "class Data" independent from the underlaying templates.
Implemented in AZ::SerializeGenericTypeInfo< Data::Asset< T > >::GenericClassGenericAsset, AZ::SerializeGenericTypeInfo< AZStd::vector< T, A > >::GenericClassInfoVector, AZ::SerializeGenericTypeInfo< AZStd::fixed_vector< T, Capacity > >::GenericClassInfoFixedVector, AZ::SerializeGenericTypeInfo< AZStd::list< T, A > >::GenericClassInfoList, AZ::SerializeGenericTypeInfo< AZStd::forward_list< T, A > >::GenericClassInfoForwardList, AZ::SerializeGenericTypeInfo< AZStd::array< T, Size > >::GenericClassInfoArray, AZ::SerializeGenericTypeInfo< AZStd::set< K, C, A > >::GenericClassSet, AZ::SerializeGenericTypeInfo< AZStd::unordered_set< K, H, E, A > >::GenericClassUnorderedSet, AZ::SerializeGenericTypeInfo< AZStd::unordered_multiset< K, H, E, A > >::GenericClassUnorderedMultiSet, AZ::SerializeGenericTypeInfo< AZ::Outcome< t_Success, t_Failure > >::GenericClassOutcome, AZ::SerializeGenericTypeInfo< AZStd::pair< T1, T2 > >::GenericClassPair, AZ::SerializeGenericTypeInfo< AZStd::tuple< Types... > >::GenericClassTuple, AZ::SerializeGenericTypeInfo< AZStd::map< K, M, C, A > >::GenericClassMap, AZ::SerializeGenericTypeInfo< AZStd::unordered_map< K, M, H, E, A > >::GenericClassUnorderedMap, AZ::SerializeGenericTypeInfo< AZStd::unordered_multimap< K, M, H, E, A > >::GenericClassUnorderedMultiMap, AZ::SerializeGenericTypeInfo< AZStd::basic_string< E, T, A > >::GenericClassBasicString, AZ::SerializeGenericTypeInfo< AZStd::vector< AZ::u8, A > >::GenericClassByteStream, AZ::SerializeGenericTypeInfo< AZStd::bitset< NumBits > >::GenericClassBitSet, AZ::SerializeGenericTypeInfo< AZStd::shared_ptr< T > >::GenericClassSharedPtr, AZ::SerializeGenericTypeInfo< AZStd::intrusive_ptr< T > >::GenericClassIntrusivePtr, AZ::SerializeGenericTypeInfo< AZStd::unique_ptr< T, Deleter > >::GenericClassUniquePtr, AZ::SerializeGenericTypeInfo< AZStd::optional< T > >::GenericClassOptional, and AZ::SerializeGenericTypeInfo< ConfigurableStack< StackBaseType > >::GenericConfigurableStackInfo.
|
inlinevirtual |
Return the generic Type Id associated with the GenericClassInfo.
Reimplemented in AZ::SerializeGenericTypeInfo< Data::Asset< T > >::GenericClassGenericAsset, AZ::SerializeGenericTypeInfo< AZStd::vector< T, A > >::GenericClassInfoVector, AZ::SerializeGenericTypeInfo< AZStd::fixed_vector< T, Capacity > >::GenericClassInfoFixedVector, AZ::SerializeGenericTypeInfo< AZStd::list< T, A > >::GenericClassInfoList, AZ::SerializeGenericTypeInfo< AZStd::forward_list< T, A > >::GenericClassInfoForwardList, AZ::SerializeGenericTypeInfo< AZStd::array< T, Size > >::GenericClassInfoArray, AZ::SerializeGenericTypeInfo< AZStd::set< K, C, A > >::GenericClassSet, AZ::SerializeGenericTypeInfo< AZStd::unordered_set< K, H, E, A > >::GenericClassUnorderedSet, AZ::SerializeGenericTypeInfo< AZStd::unordered_multiset< K, H, E, A > >::GenericClassUnorderedMultiSet, AZ::SerializeGenericTypeInfo< AZ::Outcome< t_Success, t_Failure > >::GenericClassOutcome, AZ::SerializeGenericTypeInfo< AZStd::pair< T1, T2 > >::GenericClassPair, AZ::SerializeGenericTypeInfo< AZStd::tuple< Types... > >::GenericClassTuple, AZ::SerializeGenericTypeInfo< AZStd::map< K, M, C, A > >::GenericClassMap, AZ::SerializeGenericTypeInfo< AZStd::unordered_map< K, M, H, E, A > >::GenericClassUnorderedMap, AZ::SerializeGenericTypeInfo< AZStd::unordered_multimap< K, M, H, E, A > >::GenericClassUnorderedMultiMap, AZ::SerializeGenericTypeInfo< AZStd::basic_string< E, T, A > >::GenericClassBasicString, AZ::SerializeGenericTypeInfo< AZStd::vector< AZ::u8, A > >::GenericClassByteStream, AZ::SerializeGenericTypeInfo< AZStd::bitset< NumBits > >::GenericClassBitSet, AZ::SerializeGenericTypeInfo< AZStd::shared_ptr< T > >::GenericClassSharedPtr, AZ::SerializeGenericTypeInfo< AZStd::intrusive_ptr< T > >::GenericClassIntrusivePtr, AZ::SerializeGenericTypeInfo< AZStd::unique_ptr< T, Deleter > >::GenericClassUniquePtr, AZ::SerializeGenericTypeInfo< AZStd::optional< T > >::GenericClassOptional, and AZ::SerializeGenericTypeInfo< ConfigurableStack< StackBaseType > >::GenericConfigurableStackInfo.
|
inlinevirtual |
Returns the legacy specialized type id which removed the pointer types from templates when calculating type ids. i.e Typeids for AZStd::vector<AZ::Entity> and AZStd::vector<AZ::Entity*> are the same for legacy ids
Reimplemented in AZ::SerializeGenericTypeInfo< AZStd::vector< T, A > >::GenericClassInfoVector.
|
pure virtual |
By default returns AzTypeInfo<ValueType>::Uuid.
Implemented in AZ::SerializeGenericTypeInfo< Data::Asset< T > >::GenericClassGenericAsset, AZ::SerializeGenericTypeInfo< AZStd::vector< T, A > >::GenericClassInfoVector, AZ::SerializeGenericTypeInfo< AZStd::fixed_vector< T, Capacity > >::GenericClassInfoFixedVector, AZ::SerializeGenericTypeInfo< AZStd::list< T, A > >::GenericClassInfoList, AZ::SerializeGenericTypeInfo< AZStd::forward_list< T, A > >::GenericClassInfoForwardList, AZ::SerializeGenericTypeInfo< AZStd::array< T, Size > >::GenericClassInfoArray, AZ::SerializeGenericTypeInfo< AZStd::set< K, C, A > >::GenericClassSet, AZ::SerializeGenericTypeInfo< AZStd::unordered_set< K, H, E, A > >::GenericClassUnorderedSet, AZ::SerializeGenericTypeInfo< AZStd::unordered_multiset< K, H, E, A > >::GenericClassUnorderedMultiSet, AZ::SerializeGenericTypeInfo< AZ::Outcome< t_Success, t_Failure > >::GenericClassOutcome, AZ::SerializeGenericTypeInfo< AZStd::pair< T1, T2 > >::GenericClassPair, AZ::SerializeGenericTypeInfo< AZStd::tuple< Types... > >::GenericClassTuple, AZ::SerializeGenericTypeInfo< AZStd::map< K, M, C, A > >::GenericClassMap, AZ::SerializeGenericTypeInfo< AZStd::unordered_map< K, M, H, E, A > >::GenericClassUnorderedMap, AZ::SerializeGenericTypeInfo< AZStd::unordered_multimap< K, M, H, E, A > >::GenericClassUnorderedMultiMap, AZ::SerializeGenericTypeInfo< AZStd::basic_string< E, T, A > >::GenericClassBasicString, AZ::SerializeGenericTypeInfo< AZStd::vector< AZ::u8, A > >::GenericClassByteStream, AZ::SerializeGenericTypeInfo< AZStd::bitset< NumBits > >::GenericClassBitSet, AZ::SerializeGenericTypeInfo< AZStd::shared_ptr< T > >::GenericClassSharedPtr, AZ::SerializeGenericTypeInfo< AZStd::intrusive_ptr< T > >::GenericClassIntrusivePtr, AZ::SerializeGenericTypeInfo< AZStd::unique_ptr< T, Deleter > >::GenericClassUniquePtr, AZ::SerializeGenericTypeInfo< AZStd::optional< T > >::GenericClassOptional, and AZ::SerializeGenericTypeInfo< ConfigurableStack< StackBaseType > >::GenericConfigurableStackInfo.
|
pure virtual |
Register the generic class info using the SerializeContext.
Implemented in AZ::SerializeGenericTypeInfo< Data::Asset< T > >::GenericClassGenericAsset, AZ::SerializeGenericTypeInfo< AZStd::vector< T, A > >::GenericClassInfoVector, AZ::SerializeGenericTypeInfo< AZStd::fixed_vector< T, Capacity > >::GenericClassInfoFixedVector, AZ::SerializeGenericTypeInfo< AZStd::list< T, A > >::GenericClassInfoList, AZ::SerializeGenericTypeInfo< AZStd::forward_list< T, A > >::GenericClassInfoForwardList, AZ::SerializeGenericTypeInfo< AZStd::array< T, Size > >::GenericClassInfoArray, AZ::SerializeGenericTypeInfo< AZStd::set< K, C, A > >::GenericClassSet, AZ::SerializeGenericTypeInfo< AZStd::unordered_set< K, H, E, A > >::GenericClassUnorderedSet, AZ::SerializeGenericTypeInfo< AZStd::unordered_multiset< K, H, E, A > >::GenericClassUnorderedMultiSet, AZ::SerializeGenericTypeInfo< AZ::Outcome< t_Success, t_Failure > >::GenericClassOutcome, AZ::SerializeGenericTypeInfo< AZStd::pair< T1, T2 > >::GenericClassPair, AZ::SerializeGenericTypeInfo< AZStd::tuple< Types... > >::GenericClassTuple, AZ::SerializeGenericTypeInfo< AZStd::map< K, M, C, A > >::GenericClassMap, AZ::SerializeGenericTypeInfo< AZStd::unordered_map< K, M, H, E, A > >::GenericClassUnorderedMap, AZ::SerializeGenericTypeInfo< AZStd::unordered_multimap< K, M, H, E, A > >::GenericClassUnorderedMultiMap, AZ::SerializeGenericTypeInfo< AZStd::basic_string< E, T, A > >::GenericClassBasicString, AZ::SerializeGenericTypeInfo< AZStd::vector< AZ::u8, A > >::GenericClassByteStream, AZ::SerializeGenericTypeInfo< AZStd::bitset< NumBits > >::GenericClassBitSet, AZ::SerializeGenericTypeInfo< AZStd::shared_ptr< T > >::GenericClassSharedPtr, AZ::SerializeGenericTypeInfo< AZStd::intrusive_ptr< T > >::GenericClassIntrusivePtr, AZ::SerializeGenericTypeInfo< AZStd::unique_ptr< T, Deleter > >::GenericClassUniquePtr, AZ::SerializeGenericTypeInfo< AZStd::optional< T > >::GenericClassOptional, and AZ::SerializeGenericTypeInfo< ConfigurableStack< StackBaseType > >::GenericConfigurableStackInfo.