CatapultServer
v0.5.0.1 (Elephant)
|
A conditional container that delegates to either a storage or a memory backed container. More...
Classes | |
class | ConditionalIterator |
A const iterator. More... | |
Public Types | |
using | StorageSetType = TStorageSet |
using | MemorySetType = TMemorySet |
using | value_type = typename MemorySetType::value_type |
using | const_iterator = ConditionalIterator |
using | iterator = ConditionalIterator |
Public Types inherited from catapult::deltaset::detail::StlContainerTraits< TMemorySet > | |
using | key_compare = typename TMemorySet ::key_compare |
Public Member Functions | |
ConditionalContainer () | |
Creates a memory conditional container with mode. More... | |
template<typename... TStorageArgs> | |
ConditionalContainer (ConditionalContainerMode mode, TStorageArgs &&... storageArgs) | |
bool | empty () const |
Gets a value indicating whether or not this set is empty. More... | |
size_t | size () const |
Gets the size of this set. More... | |
ConditionalIterator | cend () const |
Returns a const iterator to the element following the last element of the underlying set. More... | |
ConditionalIterator | find (const typename TKeyTraits::KeyType &key) const |
Searches for key in this set. More... | |
void | update (const DeltaElements< MemorySetType > &deltas) |
Applies all changes in deltas to the underlying container. More... | |
template<typename TPruningBoundary > | |
void | prune (const TPruningBoundary &pruningBoundary) |
Optionally prunes underlying container using pruningBoundary. More... | |
Private Types | |
using | StorageFlag = std::integral_constant< ConditionalContainerMode, ConditionalContainerMode::Storage > |
using | MemoryFlag = std::integral_constant< ConditionalContainerMode, ConditionalContainerMode::Memory > |
Private Attributes | |
std::unique_ptr< StorageSetType > | m_pContainer1 |
std::unique_ptr< MemorySetType > | m_pContainer2 |
Friends | |
template<typename TKeyTraits2 , typename TStorageSet2 , typename TMemorySet2 > | |
bool | IsSetIterable (const ConditionalContainer< TKeyTraits2, TStorageSet2, TMemorySet2 > &set) |
template<typename TKeyTraits2 , typename TStorageSet2 , typename TMemorySet2 > | |
const friend TMemorySet2 & | SelectIterableSet (const ConditionalContainer< TKeyTraits2, TStorageSet2, TMemorySet2 > &set) |
A conditional container that delegates to either a storage or a memory backed container.
using catapult::deltaset::ConditionalContainer< TKeyTraits, TStorageSet, TMemorySet >::const_iterator = ConditionalIterator |
using catapult::deltaset::ConditionalContainer< TKeyTraits, TStorageSet, TMemorySet >::iterator = ConditionalIterator |
|
private |
using catapult::deltaset::ConditionalContainer< TKeyTraits, TStorageSet, TMemorySet >::MemorySetType = TMemorySet |
|
private |
using catapult::deltaset::ConditionalContainer< TKeyTraits, TStorageSet, TMemorySet >::StorageSetType = TStorageSet |
using catapult::deltaset::ConditionalContainer< TKeyTraits, TStorageSet, TMemorySet >::value_type = typename MemorySetType::value_type |
|
inline |
Creates a memory conditional container with mode.
|
inlineexplicit |
Creates a memory conditional container with mode. storageArgs are forwarded to the underlying storage container.
|
inline |
Returns a const iterator to the element following the last element of the underlying set.
|
inline |
Gets a value indicating whether or not this set is empty.
|
inline |
Searches for key in this set.
|
inline |
Optionally prunes underlying container using pruningBoundary.
|
inline |
Gets the size of this set.
|
inline |
Applies all changes in deltas to the underlying container.
|
friend |
|
friend |
|
private |
|
private |