mCRL2
Loading...
Searching...
No Matches
mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant > Class Template Reference

Iterator over all keys in a bucket list. More...

#include <bucket_list.h>

Public Types

using value_type = typename std::conditional< Constant, const Key, Key >::type
 
using reference = typename std::conditional< Constant, const Key &, Key & >::type
 
using pointer = typename std::conditional< Constant, const Key *, Key * >::type
 
using difference_type = std::ptrdiff_t
 
using iterator_category = std::forward_iterator_tag
 

Public Member Functions

 key_iterator ()
 Default constructor.
 
 operator key_iterator () const
 Implicit conversion to const_iterator.
 
key_iteratoroperator++ ()
 
reference operator* () const
 
pointer operator-> () const
 
bool operator== (const key_iterator &it) const noexcept
 
bool operator!= (const key_iterator &it) const noexcept
 
bool operator== (Sentinel) const noexcept
 
bool operator!= (Sentinel) const noexcept
 

Private Member Functions

 key_iterator (node_base *current)
 
nodeget_node () noexcept
 
const nodeget_node () const noexcept
 

Private Attributes

nodem_current_node = nullptr
 

Friends

class bucket_list
 

Detailed Description

template<typename Key, typename Allocator>
template<bool Constant = true>
class mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >

Iterator over all keys in a bucket list.

Definition at line 104 of file bucket_list.h.

Member Typedef Documentation

◆ difference_type

template<typename Key , typename Allocator >
template<bool Constant = true>
using mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::difference_type = std::ptrdiff_t

Definition at line 112 of file bucket_list.h.

◆ iterator_category

template<typename Key , typename Allocator >
template<bool Constant = true>
using mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::iterator_category = std::forward_iterator_tag

Definition at line 113 of file bucket_list.h.

◆ pointer

template<typename Key , typename Allocator >
template<bool Constant = true>
using mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::pointer = typename std::conditional<Constant, const Key*, Key*>::type

Definition at line 111 of file bucket_list.h.

◆ reference

template<typename Key , typename Allocator >
template<bool Constant = true>
using mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::reference = typename std::conditional<Constant, const Key&, Key&>::type

Definition at line 110 of file bucket_list.h.

◆ value_type

template<typename Key , typename Allocator >
template<bool Constant = true>
using mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::value_type = typename std::conditional<Constant, const Key, Key>::type

Definition at line 109 of file bucket_list.h.

Constructor & Destructor Documentation

◆ key_iterator() [1/2]

template<typename Key , typename Allocator >
template<bool Constant = true>
mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::key_iterator ( )
inline

Default constructor.

Definition at line 116 of file bucket_list.h.

◆ key_iterator() [2/2]

template<typename Key , typename Allocator >
template<bool Constant = true>
mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::key_iterator ( node_base current)
inlineexplicitprivate

Definition at line 161 of file bucket_list.h.

Member Function Documentation

◆ get_node() [1/2]

template<typename Key , typename Allocator >
template<bool Constant = true>
const node * mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::get_node ( ) const
inlineprivatenoexcept

Definition at line 170 of file bucket_list.h.

◆ get_node() [2/2]

template<typename Key , typename Allocator >
template<bool Constant = true>
node * mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::get_node ( )
inlineprivatenoexcept

Definition at line 165 of file bucket_list.h.

◆ operator key_iterator()

template<typename Key , typename Allocator >
template<bool Constant = true>
mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::operator key_iterator ( ) const
inline

Implicit conversion to const_iterator.

Definition at line 119 of file bucket_list.h.

◆ operator!=() [1/2]

template<typename Key , typename Allocator >
template<bool Constant = true>
bool mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::operator!= ( const key_iterator< Constant > &  it) const
inlinenoexcept

Definition at line 145 of file bucket_list.h.

◆ operator!=() [2/2]

template<typename Key , typename Allocator >
template<bool Constant = true>
bool mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::operator!= ( Sentinel  ) const
inlinenoexcept

Definition at line 155 of file bucket_list.h.

◆ operator*()

template<typename Key , typename Allocator >
template<bool Constant = true>
reference mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::operator* ( ) const
inline

Definition at line 130 of file bucket_list.h.

◆ operator++()

template<typename Key , typename Allocator >
template<bool Constant = true>
key_iterator & mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::operator++ ( )
inline

Definition at line 124 of file bucket_list.h.

◆ operator->()

template<typename Key , typename Allocator >
template<bool Constant = true>
pointer mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::operator-> ( ) const
inline

Definition at line 135 of file bucket_list.h.

◆ operator==() [1/2]

template<typename Key , typename Allocator >
template<bool Constant = true>
bool mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::operator== ( const key_iterator< Constant > &  it) const
inlinenoexcept

Definition at line 140 of file bucket_list.h.

◆ operator==() [2/2]

template<typename Key , typename Allocator >
template<bool Constant = true>
bool mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::operator== ( Sentinel  ) const
inlinenoexcept

Definition at line 150 of file bucket_list.h.

Friends And Related Symbol Documentation

◆ bucket_list

template<typename Key , typename Allocator >
template<bool Constant = true>
friend class bucket_list
friend

Definition at line 106 of file bucket_list.h.

Member Data Documentation

◆ m_current_node

template<typename Key , typename Allocator >
template<bool Constant = true>
node* mcrl2::utilities::detail::bucket_list< Key, Allocator >::key_iterator< Constant >::m_current_node = nullptr
private

Definition at line 175 of file bucket_list.h.


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