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

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< voidCreateKey ()
 Reserve a key that can be used for associative container operations.
 
virtual voidGetElementByKey (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 voidGetValueByKey (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 voidAllocateKey ()=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.
 

Detailed Description

Mix-in for associative container actions, implement or provide this to offer key/value actions.

Member Enumeration Documentation

◆ AssociativeType

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)


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