mCRL2
Loading...
Searching...
No Matches
mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant > Class Template Reference

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

#include <free_list.h>

Inheritance diagram for mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >:

Classes

struct  Sentinel
 

Public Member Functions

 slot_iterator (slot_pointer slot)
 
 slot_iterator (Freelist &list)
 
 slot_iterator ()
 
slot_iteratoroperator++ ()
 
template<bool Constant_ = Constant>
std::enable_if<!Constant_, reference >::type operator* ()
 
template<bool Constant_ = Constant>
std::enable_if< Constant_, reference >::type operator* () const
 
bool operator!= (const slot_iterator &it) const noexcept
 
bool operator!= (Sentinel) const noexcept
 
slot_pointer get_slot ()
 

Static Public Attributes

static constexpr Sentinel EndIterator {}
 A end of the iterator sentinel.
 

Private Types

using tag = std::input_iterator_tag
 
using Freelist = typename std::conditional< Constant, const free_list< Element >, free_list< Element > >::type
 
using reference = typename std::conditional< Constant, const Element &, Element & >::type
 
using slot_pointer = typename std::conditional< Constant, const slot *, slot * >::type
 

Private Attributes

slot_pointer m_slot
 

Friends

class free_list< Element >
 

Detailed Description

template<typename Element>
template<bool Constant = true>
class mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >

Iterator over all keys in a bucket list.

Definition at line 76 of file free_list.h.

Member Typedef Documentation

◆ Freelist

template<typename Element >
template<bool Constant = true>
using mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::Freelist = typename std::conditional<Constant, const free_list<Element>, free_list<Element> >::type
private

Definition at line 83 of file free_list.h.

◆ reference

template<typename Element >
template<bool Constant = true>
using mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::reference = typename std::conditional<Constant, const Element&, Element&>::type
private

Definition at line 84 of file free_list.h.

◆ slot_pointer

template<typename Element >
template<bool Constant = true>
using mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::slot_pointer = typename std::conditional<Constant, const slot*, slot*>::type
private

Definition at line 85 of file free_list.h.

◆ tag

template<typename Element >
template<bool Constant = true>
using mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::tag = std::input_iterator_tag
private

Definition at line 80 of file free_list.h.

Constructor & Destructor Documentation

◆ slot_iterator() [1/3]

template<typename Element >
template<bool Constant = true>
mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::slot_iterator ( slot_pointer  slot)
inline

Definition at line 91 of file free_list.h.

◆ slot_iterator() [2/3]

template<typename Element >
template<bool Constant = true>
mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::slot_iterator ( Freelist list)
inline

Definition at line 95 of file free_list.h.

◆ slot_iterator() [3/3]

template<typename Element >
template<bool Constant = true>
mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::slot_iterator ( )
inline

Definition at line 99 of file free_list.h.

Member Function Documentation

◆ get_slot()

template<typename Element >
template<bool Constant = true>
slot_pointer mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::get_slot ( )
inline

Definition at line 131 of file free_list.h.

◆ operator!=() [1/2]

template<typename Element >
template<bool Constant = true>
bool mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::operator!= ( const slot_iterator< Constant > &  it) const
inlinenoexcept

Definition at line 121 of file free_list.h.

◆ operator!=() [2/2]

template<typename Element >
template<bool Constant = true>
bool mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::operator!= ( Sentinel  ) const
inlinenoexcept

Definition at line 126 of file free_list.h.

◆ operator*() [1/2]

template<typename Element >
template<bool Constant = true>
template<bool Constant_ = Constant>
std::enable_if<!Constant_, reference >::type mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::operator* ( )
inline

Definition at line 110 of file free_list.h.

◆ operator*() [2/2]

template<typename Element >
template<bool Constant = true>
template<bool Constant_ = Constant>
std::enable_if< Constant_, reference >::type mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::operator* ( ) const
inline

Definition at line 116 of file free_list.h.

◆ operator++()

template<typename Element >
template<bool Constant = true>
slot_iterator & mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::operator++ ( )
inline

Definition at line 103 of file free_list.h.

Friends And Related Symbol Documentation

◆ free_list< Element >

template<typename Element >
template<bool Constant = true>
friend class free_list< Element >
friend

Definition at line 71 of file free_list.h.

Member Data Documentation

◆ EndIterator

template<typename Element >
template<bool Constant = true>
constexpr Sentinel mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::EndIterator {}
staticconstexpr

A end of the iterator sentinel.

Definition at line 89 of file free_list.h.

◆ m_slot

template<typename Element >
template<bool Constant = true>
slot_pointer mcrl2::utilities::detail::free_list< Element >::slot_iterator< Constant >::m_slot
private

Definition at line 137 of file free_list.h.


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