mCRL2
Loading...
Searching...
No Matches
atermpp::reverse_term_list_iterator< Term > Class Template Reference

Reverse iterator for term_list. More...

#include <aterm_list_iterator.h>

Public Types

typedef Term value_type
 
typedef Term & reference
 
typedef Term * pointer
 
typedef ptrdiff_t difference_type
 
typedef std::forward_iterator_tag iterator_category
 

Public Member Functions

 reverse_term_list_iterator ()
 Default constructor.
 
 reverse_term_list_iterator (const reverse_term_list_iterator &other)=delete
 The copy constructor is not available.
 
reverse_term_list_iteratoroperator= (const reverse_term_list_iterator &other)=delete
 Assignment is not available.
 
const Term & operator* () const
 Dereference operator on an iterator.
 
const Term * operator-> () const
 Arrow operator on an iterator.
 
reverse_term_list_iteratoroperator++ ()
 Prefix increment operator on iterator.
 
void operator++ (int)
 Postfix increment operator on iterator.
 
bool operator== (const reverse_term_list_iterator &other) const
 Equality of iterators.
 
bool operator!= (const reverse_term_list_iterator &other) const
 Inequality of iterators.
 
bool operator< (const reverse_term_list_iterator &other) const
 Comparison of iterators.
 
bool operator<= (const reverse_term_list_iterator &other) const
 Comparison of iterators.
 
bool operator> (const reverse_term_list_iterator &other) const
 Comparison of iterators.
 
bool operator>= (const reverse_term_list_iterator &other) const
 Comparison of iterators.
 

Protected Member Functions

 reverse_term_list_iterator (detail::_aterm const *l)
 Constructor from an aterm which must be a list.
 

Protected Attributes

std::size_t m_position
 
std::unique_ptr< detail::_aterm_list< Term > const *[]> m_list_element_references
 

Friends

template<class T >
class term_list
 

Detailed Description

template<typename Term>
class atermpp::reverse_term_list_iterator< Term >

Reverse iterator for term_list.

Definition at line 158 of file aterm_list_iterator.h.

Member Typedef Documentation

◆ difference_type

template<typename Term >
typedef ptrdiff_t atermpp::reverse_term_list_iterator< Term >::difference_type

Definition at line 188 of file aterm_list_iterator.h.

◆ iterator_category

template<typename Term >
typedef std::forward_iterator_tag atermpp::reverse_term_list_iterator< Term >::iterator_category

Definition at line 189 of file aterm_list_iterator.h.

◆ pointer

template<typename Term >
typedef Term* atermpp::reverse_term_list_iterator< Term >::pointer

Definition at line 187 of file aterm_list_iterator.h.

◆ reference

template<typename Term >
typedef Term& atermpp::reverse_term_list_iterator< Term >::reference

Definition at line 186 of file aterm_list_iterator.h.

◆ value_type

template<typename Term >
typedef Term atermpp::reverse_term_list_iterator< Term >::value_type

Definition at line 185 of file aterm_list_iterator.h.

Constructor & Destructor Documentation

◆ reverse_term_list_iterator() [1/3]

template<typename Term >
atermpp::reverse_term_list_iterator< Term >::reverse_term_list_iterator ( detail::_aterm const *  l)
inlineprotected

Constructor from an aterm which must be a list.

Parameters
lA sequence of terms

Definition at line 169 of file aterm_list_iterator.h.

◆ reverse_term_list_iterator() [2/3]

template<typename Term >
atermpp::reverse_term_list_iterator< Term >::reverse_term_list_iterator ( )
inline

Default constructor.

Definition at line 192 of file aterm_list_iterator.h.

◆ reverse_term_list_iterator() [3/3]

template<typename Term >
atermpp::reverse_term_list_iterator< Term >::reverse_term_list_iterator ( const reverse_term_list_iterator< Term > &  other)
delete

The copy constructor is not available.

Parameters
otherA sequence of terms

Member Function Documentation

◆ operator!=()

template<typename Term >
bool atermpp::reverse_term_list_iterator< Term >::operator!= ( const reverse_term_list_iterator< Term > &  other) const
inline

Inequality of iterators.

Parameters
otherThe iterator with which this iterator is compared.
Returns
true if the iterators do not point to the same term_list.

Definition at line 246 of file aterm_list_iterator.h.

◆ operator*()

template<typename Term >
const Term & atermpp::reverse_term_list_iterator< Term >::operator* ( ) const
inline

Dereference operator on an iterator.

Definition at line 207 of file aterm_list_iterator.h.

◆ operator++() [1/2]

template<typename Term >
reverse_term_list_iterator & atermpp::reverse_term_list_iterator< Term >::operator++ ( )
inline

Prefix increment operator on iterator.

Definition at line 221 of file aterm_list_iterator.h.

◆ operator++() [2/2]

template<typename Term >
void atermpp::reverse_term_list_iterator< Term >::operator++ ( int  )
inline

Postfix increment operator on iterator.

Definition at line 229 of file aterm_list_iterator.h.

◆ operator->()

template<typename Term >
const Term * atermpp::reverse_term_list_iterator< Term >::operator-> ( ) const
inline

Arrow operator on an iterator.

Definition at line 214 of file aterm_list_iterator.h.

◆ operator<()

template<typename Term >
bool atermpp::reverse_term_list_iterator< Term >::operator< ( const reverse_term_list_iterator< Term > &  other) const
inline

Comparison of iterators.

Parameters
otherThe iterator with which this iterator is compared.
Returns
true if the pointer to this termlist is smaller than the other pointer.

Definition at line 254 of file aterm_list_iterator.h.

◆ operator<=()

template<typename Term >
bool atermpp::reverse_term_list_iterator< Term >::operator<= ( const reverse_term_list_iterator< Term > &  other) const
inline

Comparison of iterators.

Parameters
otherThe iterator with which this iterator is compared.
Returns
true if the iterators point to the same term_list.

Definition at line 262 of file aterm_list_iterator.h.

◆ operator=()

template<typename Term >
reverse_term_list_iterator & atermpp::reverse_term_list_iterator< Term >::operator= ( const reverse_term_list_iterator< Term > &  other)
delete

Assignment is not available.

Parameters
otherA sequence of terms

◆ operator==()

template<typename Term >
bool atermpp::reverse_term_list_iterator< Term >::operator== ( const reverse_term_list_iterator< Term > &  other) const
inline

Equality of iterators.

Parameters
otherThe iterator with which this iterator is compared.
Returns
true if the iterators point to the same term_list.

Definition at line 238 of file aterm_list_iterator.h.

◆ operator>()

template<typename Term >
bool atermpp::reverse_term_list_iterator< Term >::operator> ( const reverse_term_list_iterator< Term > &  other) const
inline

Comparison of iterators.

Parameters
otherThe iterator with which this iterator is compared.
Returns
true if the iterators point to the same term_list.

Definition at line 270 of file aterm_list_iterator.h.

◆ operator>=()

template<typename Term >
bool atermpp::reverse_term_list_iterator< Term >::operator>= ( const reverse_term_list_iterator< Term > &  other) const
inline

Comparison of iterators.

Parameters
otherThe iterator with which this iterator is compared.
Returns
true if the iterators point to the same term_list.

Definition at line 278 of file aterm_list_iterator.h.

Friends And Related Symbol Documentation

◆ term_list

template<typename Term >
template<class T >
friend class term_list
friend

Definition at line 161 of file aterm_list_iterator.h.

Member Data Documentation

◆ m_list_element_references

template<typename Term >
std::unique_ptr<detail::_aterm_list<Term> const*[]> atermpp::reverse_term_list_iterator< Term >::m_list_element_references
protected

Definition at line 165 of file aterm_list_iterator.h.

◆ m_position

template<typename Term >
std::size_t atermpp::reverse_term_list_iterator< Term >::m_position
protected

Definition at line 164 of file aterm_list_iterator.h.


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