CatapultServer  v0.5.0.1 (Elephant)
catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType > Struct Template Reference

Base set compatible traits for stl map types. More...

Inheritance diagram for catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >:

Public Types

using SetType = TMap
 
using MemorySetType = TMemoryMapType
 
using KeyTraits = MapKeyTraits< MemorySetType >
 
using KeyType = typename KeyTraits::KeyType
 
using ValueType = typename KeyTraits::ValueType
 
using StorageType = typename KeyTraits::StorageType
 

Static Public Member Functions

static constexpr const KeyTypeToKey (const StorageType &element)
 Converts a storage type (element) to a key. More...
 
static constexpr KeyType ToKey (const ValueType &value)
 Converts a value type (value) to a key. More...
 
static constexpr StorageType ToStorage (const ValueType &value)
 Converts a value type (value) to a storage type. More...
 
template<typename TIterator >
static const StorageTypeToStorage (const KeyType &, TIterator &&iter)
 Converts iter to a storage type. More...
 
static constexpr const ValueTypeToValue (const StorageType &element)
 Converts a storage type (element) to a value type. More...
 
static constexpr ValueTypeToValue (StorageType &element)
 Converts a storage type (element) to a value type. More...
 

Static Public Attributes

static constexpr bool AllowsNativeValueModification = true
 Map values can be modified because they are not hashed in native container. More...
 

Detailed Description

template<typename TMap, typename TElementToKeyConverter, typename TMemoryMapType = TMap>
struct catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >

Base set compatible traits for stl map types.

Member Typedef Documentation

◆ KeyTraits

template<typename TMap , typename TElementToKeyConverter , typename TMemoryMapType = TMap>
using catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >::KeyTraits = MapKeyTraits<MemorySetType>

◆ KeyType

template<typename TMap , typename TElementToKeyConverter , typename TMemoryMapType = TMap>
using catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >::KeyType = typename KeyTraits::KeyType

◆ MemorySetType

template<typename TMap , typename TElementToKeyConverter , typename TMemoryMapType = TMap>
using catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >::MemorySetType = TMemoryMapType

◆ SetType

template<typename TMap , typename TElementToKeyConverter , typename TMemoryMapType = TMap>
using catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >::SetType = TMap

◆ StorageType

template<typename TMap , typename TElementToKeyConverter , typename TMemoryMapType = TMap>
using catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >::StorageType = typename KeyTraits::StorageType

◆ ValueType

template<typename TMap , typename TElementToKeyConverter , typename TMemoryMapType = TMap>
using catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >::ValueType = typename KeyTraits::ValueType

Member Function Documentation

◆ ToKey() [1/2]

template<typename TMap , typename TElementToKeyConverter , typename TMemoryMapType = TMap>
static constexpr const KeyType& catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >::ToKey ( const StorageType element)
inlinestaticconstexpr

Converts a storage type (element) to a key.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ToKey() [2/2]

template<typename TMap , typename TElementToKeyConverter , typename TMemoryMapType = TMap>
static constexpr KeyType catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >::ToKey ( const ValueType value)
inlinestaticconstexpr

Converts a value type (value) to a key.

◆ ToStorage() [1/2]

template<typename TMap , typename TElementToKeyConverter , typename TMemoryMapType = TMap>
template<typename TIterator >
static const StorageType& catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >::ToStorage ( const KeyType ,
TIterator &&  iter 
)
inlinestatic

Converts iter to a storage type.

◆ ToStorage() [2/2]

template<typename TMap , typename TElementToKeyConverter , typename TMemoryMapType = TMap>
static constexpr StorageType catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >::ToStorage ( const ValueType value)
inlinestaticconstexpr

Converts a value type (value) to a storage type.

Here is the call graph for this function:

◆ ToValue() [1/2]

template<typename TMap , typename TElementToKeyConverter , typename TMemoryMapType = TMap>
static constexpr const ValueType& catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >::ToValue ( const StorageType element)
inlinestaticconstexpr

Converts a storage type (element) to a value type.

◆ ToValue() [2/2]

template<typename TMap , typename TElementToKeyConverter , typename TMemoryMapType = TMap>
static constexpr ValueType& catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >::ToValue ( StorageType element)
inlinestaticconstexpr

Converts a storage type (element) to a value type.

Member Data Documentation

◆ AllowsNativeValueModification

template<typename TMap , typename TElementToKeyConverter , typename TMemoryMapType = TMap>
constexpr bool catapult::deltaset::MapStorageTraits< TMap, TElementToKeyConverter, TMemoryMapType >::AllowsNativeValueModification = true
staticconstexpr

Map values can be modified because they are not hashed in native container.


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