![]() |
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==().