CBMC
concat_iteratort< first_iteratort, second_iteratort > Struct Template Reference

On increment, increments a first iterator and when the corresponding end iterator is reached, starts to increment a second one. More...

#include <range.h>

Public Types

using difference_type = typename first_iteratort::difference_type
 
using value_type = typename first_iteratort::value_type
 
using pointer = typename first_iteratort::pointer
 
using reference = typename first_iteratort::reference
 
using iterator_category = std::forward_iterator_tag
 

Public Member Functions

bool operator== (const concat_iteratort &other) const
 
bool operator!= (const concat_iteratort &other) const
 
concat_iteratortoperator++ ()
 Preincrement operator. More...
 
concat_iteratort operator++ (int)
 Postincrement operator. More...
 
reference operator* () const
 
pointer operator-> () const
 
 concat_iteratort (first_iteratort first_begin, first_iteratort first_end, second_iteratort second_begin)
 

Private Attributes

first_iteratort first_begin
 
first_iteratort first_end
 
second_iteratort second_begin
 

Detailed Description

template<typename first_iteratort, typename second_iteratort>
struct concat_iteratort< first_iteratort, second_iteratort >

On increment, increments a first iterator and when the corresponding end iterator is reached, starts to increment a second one.

Dereference corresponds to dereference on the first iterator if the end is not reached yet, and on the second one otherwise.

Definition at line 196 of file range.h.

Member Typedef Documentation

◆ difference_type

template<typename first_iteratort , typename second_iteratort >
using concat_iteratort< first_iteratort, second_iteratort >::difference_type = typename first_iteratort::difference_type

Definition at line 199 of file range.h.

◆ iterator_category

template<typename first_iteratort , typename second_iteratort >
using concat_iteratort< first_iteratort, second_iteratort >::iterator_category = std::forward_iterator_tag

Definition at line 203 of file range.h.

◆ pointer

template<typename first_iteratort , typename second_iteratort >
using concat_iteratort< first_iteratort, second_iteratort >::pointer = typename first_iteratort::pointer

Definition at line 201 of file range.h.

◆ reference

template<typename first_iteratort , typename second_iteratort >
using concat_iteratort< first_iteratort, second_iteratort >::reference = typename first_iteratort::reference

Definition at line 202 of file range.h.

◆ value_type

template<typename first_iteratort , typename second_iteratort >
using concat_iteratort< first_iteratort, second_iteratort >::value_type = typename first_iteratort::value_type

Definition at line 200 of file range.h.

Constructor & Destructor Documentation

◆ concat_iteratort()

template<typename first_iteratort , typename second_iteratort >
concat_iteratort< first_iteratort, second_iteratort >::concat_iteratort ( first_iteratort  first_begin,
first_iteratort  first_end,
second_iteratort  second_begin 
)
inline

Definition at line 252 of file range.h.

Member Function Documentation

◆ operator!=()

template<typename first_iteratort , typename second_iteratort >
bool concat_iteratort< first_iteratort, second_iteratort >::operator!= ( const concat_iteratort< first_iteratort, second_iteratort > &  other) const
inline

Definition at line 215 of file range.h.

◆ operator*()

template<typename first_iteratort , typename second_iteratort >
reference concat_iteratort< first_iteratort, second_iteratort >::operator* ( ) const
inline

Definition at line 238 of file range.h.

◆ operator++() [1/2]

template<typename first_iteratort , typename second_iteratort >
concat_iteratort& concat_iteratort< first_iteratort, second_iteratort >::operator++ ( )
inline

Preincrement operator.

Definition at line 221 of file range.h.

◆ operator++() [2/2]

template<typename first_iteratort , typename second_iteratort >
concat_iteratort concat_iteratort< first_iteratort, second_iteratort >::operator++ ( int  )
inline

Postincrement operator.

Definition at line 231 of file range.h.

◆ operator->()

template<typename first_iteratort , typename second_iteratort >
pointer concat_iteratort< first_iteratort, second_iteratort >::operator-> ( ) const
inline

Definition at line 245 of file range.h.

◆ operator==()

template<typename first_iteratort , typename second_iteratort >
bool concat_iteratort< first_iteratort, second_iteratort >::operator== ( const concat_iteratort< first_iteratort, second_iteratort > &  other) const
inline

Definition at line 209 of file range.h.

Member Data Documentation

◆ first_begin

template<typename first_iteratort , typename second_iteratort >
first_iteratort concat_iteratort< first_iteratort, second_iteratort >::first_begin
private

Definition at line 263 of file range.h.

◆ first_end

template<typename first_iteratort , typename second_iteratort >
first_iteratort concat_iteratort< first_iteratort, second_iteratort >::first_end
private

Definition at line 264 of file range.h.

◆ second_begin

template<typename first_iteratort , typename second_iteratort >
second_iteratort concat_iteratort< first_iteratort, second_iteratort >::second_begin
private

Definition at line 265 of file range.h.


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