CatapultServer  v0.5.0.1 (Elephant)
catapult::deltaset::SetStorageTraits< TSet, TMemorySetType > Struct Template Reference

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

Inheritance diagram for catapult::deltaset::SetStorageTraits< TSet, TMemorySetType >:

Public Types

using SetType = TSet
 
using MemorySetType = TMemorySetType
 
using KeyTraits = SetKeyTraits< 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 const StorageTypeToStorage (const ValueType &value)
 Converts a value type (value) to a storage type. More...
 
template<typename TIterator >
static const StorageTypeToStorage (const KeyType &key, TIterator &&)
 Converts key to a storage type. More...
 
static constexpr const ValueTypeToValue (const StorageType &element)
 Converts a storage type (element) to a value type. More...
 

Static Public Attributes

static constexpr bool AllowsNativeValueModification = false
 Set values cannot be modified because they are hashed in native container. More...
 

Detailed Description

template<typename TSet, typename TMemorySetType = TSet>
struct catapult::deltaset::SetStorageTraits< TSet, TMemorySetType >

Base set compatible traits for stl set types.

Member Typedef Documentation

◆ KeyTraits

template<typename TSet , typename TMemorySetType = TSet>
using catapult::deltaset::SetStorageTraits< TSet, TMemorySetType >::KeyTraits = SetKeyTraits<MemorySetType>

◆ KeyType

template<typename TSet , typename TMemorySetType = TSet>
using catapult::deltaset::SetStorageTraits< TSet, TMemorySetType >::KeyType = typename KeyTraits::KeyType

◆ MemorySetType

template<typename TSet , typename TMemorySetType = TSet>
using catapult::deltaset::SetStorageTraits< TSet, TMemorySetType >::MemorySetType = TMemorySetType

◆ SetType

template<typename TSet , typename TMemorySetType = TSet>
using catapult::deltaset::SetStorageTraits< TSet, TMemorySetType >::SetType = TSet

◆ StorageType

template<typename TSet , typename TMemorySetType = TSet>
using catapult::deltaset::SetStorageTraits< TSet, TMemorySetType >::StorageType = typename KeyTraits::StorageType

◆ ValueType

template<typename TSet , typename TMemorySetType = TSet>
using catapult::deltaset::SetStorageTraits< TSet, TMemorySetType >::ValueType = typename KeyTraits::ValueType

Member Function Documentation

◆ ToKey()

template<typename TSet , typename TMemorySetType = TSet>
static constexpr const KeyType& catapult::deltaset::SetStorageTraits< TSet, TMemorySetType >::ToKey ( const StorageType element)
inlinestaticconstexpr

Converts a storage type (element) to a key.

Here is the call graph for this function:

◆ ToStorage() [1/2]

template<typename TSet , typename TMemorySetType = TSet>
template<typename TIterator >
static const StorageType& catapult::deltaset::SetStorageTraits< TSet, TMemorySetType >::ToStorage ( const KeyType key,
TIterator &&   
)
inlinestatic

Converts key to a storage type.

◆ ToStorage() [2/2]

template<typename TSet , typename TMemorySetType = TSet>
static constexpr const StorageType& catapult::deltaset::SetStorageTraits< TSet, TMemorySetType >::ToStorage ( const ValueType value)
inlinestaticconstexpr

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

◆ ToValue()

template<typename TSet , typename TMemorySetType = TSet>
static constexpr const ValueType& catapult::deltaset::SetStorageTraits< TSet, TMemorySetType >::ToValue ( const StorageType element)
inlinestaticconstexpr

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

Member Data Documentation

◆ AllowsNativeValueModification

template<typename TSet , typename TMemorySetType = TSet>
constexpr bool catapult::deltaset::SetStorageTraits< TSet, TMemorySetType >::AllowsNativeValueModification = false
staticconstexpr

Set values cannot be modified because they are hashed in native container.


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