ALib C++ Library
Library Version: 2510 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
alib::exceptions::Exception::IteratorType< TConstOrMutableMessage > Class Template Reference

Description:

template<typename TConstOrMutableMessage>
class alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >

Implementation of std::ForwardIterator that iterates all Message entries of an Exception.

Definition at line 330 of file exception.inl.

Collaboration diagram for alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >:
[legend]

Public Type Index:

using difference_type = integer
 Implementation of std::iterator_traits.
 
using iterator_category = std::forward_iterator_tag
 Implementation of std::iterator_traits.
 
using pointer = TConstOrMutableMessage*
 Implementation of std::iterator_traits.
 
using reference = TConstOrMutableMessage&
 Implementation of std::iterator_traits.
 
using value_type = Message
 Implementation of std::iterator_traits.
 

Public Method Index:

 IteratorType (detail::ExceptionEntry *_p=nullptr)
 
template<typename TConstEntry>
requires std::is_const_v<TConstEntry>
 IteratorType (TConstEntry *entry)
 
template<typename TMutableIterator>
requires std::same_as<TMutableIterator, IteratorType<const Message>>
 IteratorType (TMutableIterator it)
 
bool operator!= (IteratorType other) const
 
TConstOrMutableMessage & operator* () const
 
IteratorTypeoperator++ ()
 
IteratorType operator++ (int)
 
TConstOrMutableMessage * operator-> () const
 
bool operator== (IteratorType other) const
 

Protected Field Index:

detail::ExceptionEntryp
 The pointer to the actual node.
 

Type Definition Details:

◆ difference_type

template<typename TConstOrMutableMessage>
using alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::difference_type = integer

Implementation of std::iterator_traits.

Definition at line 339 of file exception.inl.

◆ iterator_category

template<typename TConstOrMutableMessage>
using alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::iterator_category = std::forward_iterator_tag

Implementation of std::iterator_traits.

Definition at line 337 of file exception.inl.

◆ pointer

template<typename TConstOrMutableMessage>
using alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::pointer = TConstOrMutableMessage*

Implementation of std::iterator_traits.

Definition at line 340 of file exception.inl.

◆ reference

template<typename TConstOrMutableMessage>
using alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::reference = TConstOrMutableMessage&

Implementation of std::iterator_traits.

Definition at line 341 of file exception.inl.

◆ value_type

template<typename TConstOrMutableMessage>
using alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::value_type = Message

Implementation of std::iterator_traits.

Definition at line 338 of file exception.inl.

Field Details:

◆ p

template<typename TConstOrMutableMessage>
detail::ExceptionEntry* alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::p
protected

The pointer to the actual node.

Definition at line 334 of file exception.inl.

Constructor(s) / Destructor Details:

◆ IteratorType() [1/3]

template<typename TConstOrMutableMessage>
alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::IteratorType ( detail::ExceptionEntry * _p = nullptr)
inlineexplicit

Constructor.

Parameters
_pOur initial value

Definition at line 346 of file exception.inl.

◆ IteratorType() [2/3]

template<typename TConstOrMutableMessage>
template<typename TConstEntry>
requires std::is_const_v<TConstEntry>
alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::IteratorType ( TConstEntry * entry)
inline

Constructor taking a constant entry pointer. Available for the constant version of this iterator only.

Parameters
entryThe initial message entry.

Definition at line 355 of file exception.inl.

◆ IteratorType() [3/3]

template<typename TConstOrMutableMessage>
template<typename TMutableIterator>
requires std::same_as<TMutableIterator, IteratorType<const Message>>
alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::IteratorType ( TMutableIterator it)
inline

Constructor taking a mutable iterator. Available for the constant version of this iterator only.

Parameters
itThe mutable iterator used to construct this constant one.

Definition at line 363 of file exception.inl.

Method Details:

◆ operator!=()

template<typename TConstOrMutableMessage>
bool alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::operator!= ( IteratorType< TConstOrMutableMessage > other) const
inline

Comparison operator.

Parameters
otherThe iterator to compare ourselves to.
Returns
true if this and given iterator are not equal, false otherwise.

Definition at line 395 of file exception.inl.

◆ operator*()

template<typename TConstOrMutableMessage>
TConstOrMutableMessage & alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::operator* ( ) const
inline

Retrieves the message that this iterator references.

Returns
The message reference.

Definition at line 402 of file exception.inl.

◆ operator++() [1/2]

template<typename TConstOrMutableMessage>
IteratorType & alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::operator++ ( )
inline

Prefix increment operator.

Returns
A reference to ourselves.

Definition at line 369 of file exception.inl.

◆ operator++() [2/2]

template<typename TConstOrMutableMessage>
IteratorType alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::operator++ ( int )
inline

Postfix increment operator.

Returns
A new iterator object that is not increased, yet.

Definition at line 377 of file exception.inl.

◆ operator->()

template<typename TConstOrMutableMessage>
TConstOrMutableMessage * alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::operator-> ( ) const
inline

Retrieves the pointer to the message that this iterator references.

Returns
The message pointer.

Definition at line 409 of file exception.inl.

◆ operator==()

template<typename TConstOrMutableMessage>
bool alib::exceptions::Exception::IteratorType< TConstOrMutableMessage >::operator== ( IteratorType< TConstOrMutableMessage > other) const
inline

Comparison operator.

Parameters
otherThe iterator to compare ourselves to.
Returns
true if this and given iterator are equal, false otherwise.

Definition at line 387 of file exception.inl.


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