Mix-in for associative container actions, implement or provide this to offer key/value actions. More...
#include <SerializeContext.h>
Inherited by AZ::Internal::AZStdAssociativeContainer< AZStd::map >, AZ::Internal::AZStdAssociativeContainer< AZStd::set >, AZ::Internal::AZStdAssociativeContainer< AZStd::unordered_map >, AZ::Internal::AZStdAssociativeContainer< AZStd::unordered_multimap >, AZ::Internal::AZStdAssociativeContainer< AZStd::unordered_multiset >, AZ::Internal::AZStdAssociativeContainer< AZStd::unordered_set >, and AZ::Internal::AZStdAssociativeContainer< T >.
Classes | |
| struct | KeyPtrDeleter |
Public Types | |
| enum class | AssociativeType { Unknown , Set , Map , UnorderedSet , UnorderedMap } |
Public Member Functions | |
| AZ_TYPE_INFO_WITH_NAME_DECL_API (AZCORE_API, IAssociativeDataContainer) | |
| AZStd::shared_ptr< void > | CreateKey () |
| Reserve a key that can be used for associative container operations. | |
| virtual void * | GetElementByKey (void *instance, const ClassElement *classElement, const void *key) const =0 |
| Get an element's address by its key. Not used for serialization. | |
| virtual void | SetElementKey (void *element, void *key) const =0 |
| Populates element with key (for associative containers). Not used for serialization. | |
| virtual void * | GetValueByKey (void *instance, const void *key) const =0 |
| Get the mapped value's address by its key. If there is no mapped value (like in a set<>) the value returned is the key itself. | |
| virtual AssociativeType | GetAssociativeType () const =0 |
| Queries the type structure(Set vs. Map, Ordered vs. Hash Table) represented by the AssociativeDataContainer. | |
Protected Member Functions | |
| virtual void * | AllocateKey ()=0 |
| Reserve a key and get its address. Used by CreateKey. | |
| virtual void | FreeKey (void *key)=0 |
| Deallocates a key created by ReserveKey. Used by CreateKey. | |
Mix-in for associative container actions, implement or provide this to offer key/value actions.
Stores the type structure of container the associative type represents The valid values are an ordered set(Set, Map) or a hash table structure(UnorderedSet, UnorderedMap)