mCRL2
Loading...
Searching...
No Matches
mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null Class Reference

class that stores either an iterator or a null value More...

#include <liblts_bisim_dnj.h>

Inheritance diagram for mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null:
mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator mcrl2::lts::detail::bisim_dnj::simple_list< T >::const_iterator

Public Types

typedef iterator::iterator_category iterator_category
 
typedef iterator::value_type value_type
 
typedef iterator::difference_type difference_type
 
typedef iterator::pointer pointer
 
typedef iterator::reference reference
 
- Public Types inherited from mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator
typedef const_iterator::iterator_category iterator_category
 
typedef const_iterator::value_type value_type
 
typedef const_iterator::difference_type difference_type
 
typedef const_iterator::pointer pointer
 
typedef const_iterator::reference reference
 
- Public Types inherited from mcrl2::lts::detail::bisim_dnj::simple_list< T >::const_iterator
typedef std::bidirectional_iterator_tag iterator_category
 
typedef T value_type
 
typedef std::ptrdiff_t difference_type
 
typedef T * pointer
 
typedef T & reference
 

Public Member Functions

 iterator_or_null ()
 
 iterator_or_null (std::nullptr_t)
 
 iterator_or_null (const iterator &other)
 
bool is_null () const
 
T & operator* () const
 
T * operator-> () const
 
bool operator== (const const_iterator &other) const
 
bool operator!= (const const_iterator &other) const
 
bool operator== (const T *const other) const
 
bool operator!= (const T *const other) const
 
void operator= (std::nullptr_t)
 
- Public Member Functions inherited from mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator
 iterator ()=default
 
 iterator (const iterator &other)=default
 
iteratoroperator= (const iterator &other)=default
 
iteratoroperator++ ()
 
iteratoroperator-- ()
 
T & operator* () const
 
T * operator-> () const
 
- Public Member Functions inherited from mcrl2::lts::detail::bisim_dnj::simple_list< T >::const_iterator
 const_iterator ()=default
 
 const_iterator (const const_iterator &other)=default
 
const_iteratoroperator= (const const_iterator &other)=default
 
const_iteratoroperator++ ()
 
const_iteratoroperator-- ()
 
const T & operator* () const
 
const T * operator-> () const
 
bool operator== (const const_iterator &other) const
 
bool operator!= (const const_iterator &other) const
 

Additional Inherited Members

- Protected Member Functions inherited from mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator
 iterator (empty_entry *const new_ptr)
 
- Protected Member Functions inherited from mcrl2::lts::detail::bisim_dnj::simple_list< T >::const_iterator
 const_iterator (const empty_entry *const new_ptr)
 
- Protected Attributes inherited from mcrl2::lts::detail::bisim_dnj::simple_list< T >::const_iterator
empty_entryptr
 

Detailed Description

template<class T>
class mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null

class that stores either an iterator or a null value

We cannot use C++14's `‘null forward iterators’', as they are not guaranteed to compare unequal to valid iterators. We also need to compare null iterators with non-null ones.

Definition at line 515 of file liblts_bisim_dnj.h.

Member Typedef Documentation

◆ difference_type

template<class T >
typedef iterator::difference_type mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::difference_type

Definition at line 520 of file liblts_bisim_dnj.h.

◆ iterator_category

template<class T >
typedef iterator::iterator_category mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::iterator_category

Definition at line 518 of file liblts_bisim_dnj.h.

◆ pointer

template<class T >
typedef iterator::pointer mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::pointer

Definition at line 521 of file liblts_bisim_dnj.h.

◆ reference

template<class T >
typedef iterator::reference mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::reference

Definition at line 522 of file liblts_bisim_dnj.h.

◆ value_type

template<class T >
typedef iterator::value_type mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::value_type

Definition at line 519 of file liblts_bisim_dnj.h.

Constructor & Destructor Documentation

◆ iterator_or_null() [1/3]

template<class T >
mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::iterator_or_null ( )
inline

Definition at line 523 of file liblts_bisim_dnj.h.

◆ iterator_or_null() [2/3]

template<class T >
mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::iterator_or_null ( std::nullptr_t  )
inline

Definition at line 524 of file liblts_bisim_dnj.h.

◆ iterator_or_null() [3/3]

template<class T >
mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::iterator_or_null ( const iterator other)
inline

Definition at line 528 of file liblts_bisim_dnj.h.

Member Function Documentation

◆ is_null()

template<class T >
bool mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::is_null ( ) const
inline

Definition at line 529 of file liblts_bisim_dnj.h.

◆ operator!=() [1/2]

template<class T >
bool mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::operator!= ( const const_iterator other) const
inline

Definition at line 542 of file liblts_bisim_dnj.h.

◆ operator!=() [2/2]

template<class T >
bool mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::operator!= ( const T *const  other) const
inline

Definition at line 552 of file liblts_bisim_dnj.h.

◆ operator*()

template<class T >
T & mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::operator* ( ) const
inline

Definition at line 530 of file liblts_bisim_dnj.h.

◆ operator->()

template<class T >
T * mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::operator-> ( ) const
inline

Definition at line 534 of file liblts_bisim_dnj.h.

◆ operator=()

template<class T >
void mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::operator= ( std::nullptr_t  )
inline

Definition at line 557 of file liblts_bisim_dnj.h.

◆ operator==() [1/2]

template<class T >
bool mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::operator== ( const const_iterator other) const
inline

Definition at line 538 of file liblts_bisim_dnj.h.

◆ operator==() [2/2]

template<class T >
bool mcrl2::lts::detail::bisim_dnj::simple_list< T >::iterator_or_null::operator== ( const T *const  other) const
inline

Definition at line 546 of file liblts_bisim_dnj.h.


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