CatapultServer
v0.5.0.1 (Elephant)
|
Iterator used for iterating over the view. More...
Public Types | |
using | difference_type = std::ptrdiff_t |
using | value_type = const typename TSetTraits::StorageType |
using | pointer = value_type * |
using | reference = value_type & |
using | iterator_category = std::forward_iterator_tag |
Public Member Functions | |
iterator (const SetType &elements, const DeltaElements< SetType > &deltas, size_t position, size_t size) | |
Creates an iterator around the original elements and deltas at position given a total of size elements. More... | |
bool | operator== (const iterator &rhs) const |
Returns true if this iterator and rhs are equal. More... | |
bool | operator!= (const iterator &rhs) const |
Returns true if this iterator and rhs are not equal. More... | |
iterator & | operator++ () |
Advances the iterator to the next position. More... | |
iterator | operator++ (int) |
Advances the iterator to the next position. More... | |
value_type * | operator-> () const |
Returns a pointer to the current element. More... | |
value_type & | operator* () const |
Returns a reference to the current element. More... | |
Private Types | |
enum | IterationStage { IterationStage::Copied, IterationStage::Original, IterationStage::Added } |
Private Member Functions | |
void | moveToValidElement () |
bool | handleCopiedStage () |
bool | handleOriginalStage () |
bool | handleAddedStage () |
Static Private Member Functions | |
static constexpr bool | Contains (const SetType &set, const KeyType &key) |
Private Attributes | |
const SetType & | m_elements |
DeltaElements< SetType > | m_deltas |
size_t | m_position |
size_t | m_size |
IterationStage | m_stage |
SetType::const_iterator | m_iter |
Iterator used for iterating over the view.
using catapult::deltaset::BaseSetDeltaIterationView< TSetTraits >::iterator::difference_type = std::ptrdiff_t |
using catapult::deltaset::BaseSetDeltaIterationView< TSetTraits >::iterator::iterator_category = std::forward_iterator_tag |
using catapult::deltaset::BaseSetDeltaIterationView< TSetTraits >::iterator::pointer = value_type* |
using catapult::deltaset::BaseSetDeltaIterationView< TSetTraits >::iterator::reference = value_type& |
using catapult::deltaset::BaseSetDeltaIterationView< TSetTraits >::iterator::value_type = const typename TSetTraits::StorageType |
|
strongprivate |
|
inline |
Creates an iterator around the original elements and deltas at position given a total of size elements.
|
inlinestaticconstexprprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inline |
Returns true
if this iterator and rhs are not equal.
|
inline |
Returns a reference to the current element.
|
inline |
Advances the iterator to the next position.
|
inline |
Advances the iterator to the next position.
|
inline |
Returns a pointer to the current element.
|
inline |
Returns true
if this iterator and rhs are equal.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |