![]() |
mutable
A Database System for Research and Fast Prototyping
|
Public Types | |
using | iterator_category = std::bidirectional_iterator_tag |
using | value_type = T |
using | difference_type = std::ptrdiff_t |
using | pointer = std::conditional_t< Is_Const, const T *, T * > |
using | reference = std::conditional_t< Is_Const, const T &, T & > |
Public Member Functions | |
the_iterator (node_type *node, std::uintptr_t prev) | |
the_iterator & | operator++ () |
the_iterator | operator++ (int) |
the_iterator & | operator-- () |
the_iterator | operator-- (int) |
reference | operator* () const |
pointer | operator-> () const |
bool | operator== (const the_iterator &other) const |
bool | operator!= (const the_iterator &other) const |
operator the_iterator< true > () const | |
Static Public Attributes | |
static constexpr bool | Is_Const = C |
Private Attributes | |
node_type * | node_ |
std::uintptr_t | prev_ |
Friends | |
struct | doubly_linked_list |
using m::doubly_linked_list< T, Allocator >::the_iterator< C >::difference_type = std::ptrdiff_t |
using m::doubly_linked_list< T, Allocator >::the_iterator< C >::iterator_category = std::bidirectional_iterator_tag |
using m::doubly_linked_list< T, Allocator >::the_iterator< C >::pointer = std::conditional_t<Is_Const, const T*, T*> |
using m::doubly_linked_list< T, Allocator >::the_iterator< C >::reference = std::conditional_t<Is_Const, const T&, T&> |
using m::doubly_linked_list< T, Allocator >::the_iterator< C >::value_type = T |
|
inline |
|
inline |
Definition at line 458 of file ADT.hpp.
References m::doubly_linked_list< T, Allocator >::the_iterator< C >::node_, and m::doubly_linked_list< T, Allocator >::the_iterator< C >::prev_.
|
inline |
Definition at line 456 of file ADT.hpp.
References m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator==().
|
inline |
Definition at line 450 of file ADT.hpp.
References m::doubly_linked_list< T, Allocator >::the_iterator< C >::node_, and m::doubly_linked_list< T, Allocator >::node_type::value_.
|
inline |
Definition at line 430 of file ADT.hpp.
References M_insist, m::doubly_linked_list< T, Allocator >::the_iterator< C >::node_, m::doubly_linked_list< T, Allocator >::the_iterator< C >::prev_, and m::doubly_linked_list< T, Allocator >::node_type::ptrxor_.
|
inline |
Definition at line 438 of file ADT.hpp.
References m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator++().
Referenced by m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator++().
|
inline |
Definition at line 440 of file ADT.hpp.
References M_insist, m::doubly_linked_list< T, Allocator >::the_iterator< C >::node_, m::doubly_linked_list< T, Allocator >::the_iterator< C >::prev_, and m::doubly_linked_list< T, Allocator >::node_type::ptrxor_.
|
inline |
Definition at line 448 of file ADT.hpp.
References m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator--().
Referenced by m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator--().
|
inline |
Definition at line 451 of file ADT.hpp.
References m::doubly_linked_list< T, Allocator >::the_iterator< C >::node_, and m::doubly_linked_list< T, Allocator >::node_type::value_.
|
inline |
Definition at line 453 of file ADT.hpp.
References m::and, m::doubly_linked_list< T, Allocator >::the_iterator< C >::node_, and m::doubly_linked_list< T, Allocator >::the_iterator< C >::prev_.
Referenced by m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator!=().
|
friend |
|
staticconstexpr |
|
private |
Definition at line 424 of file ADT.hpp.
Referenced by m::doubly_linked_list< T, Allocator >::emplace(), m::doubly_linked_list< T, Allocator >::erase(), m::doubly_linked_list< T, Allocator >::insert(), m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator the_iterator< true >(), m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator*(), m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator++(), m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator--(), m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator->(), and m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator==().
|
private |
Definition at line 425 of file ADT.hpp.
Referenced by m::doubly_linked_list< T, Allocator >::emplace(), m::doubly_linked_list< T, Allocator >::erase(), m::doubly_linked_list< T, Allocator >::insert(), m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator the_iterator< true >(), m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator++(), m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator--(), and m::doubly_linked_list< T, Allocator >::the_iterator< C >::operator==().