Subordination
A framework for distributed programming
Public Types | Public Member Functions | List of all members
sbn::queue_pop_iterator< Container, Traits > Class Template Reference

Input iterator that removes element from the container on increment. More...

#include <queue_popper.hh>

Inheritance diagram for sbn::queue_pop_iterator< Container, Traits >:
[legend]
Collaboration diagram for sbn::queue_pop_iterator< Container, Traits >:
[legend]

Public Types

typedef Container container_type
 Container type.
 
typedef Traits traits_type
 Container traits type.
 

Public Member Functions

constexpr queue_pop_iterator (container_type &x) noexcept
 Construct queue pop iterator from container x.
 
constexpr queue_pop_iterator (const queue_pop_iterator &rhs) noexcept=default
 Copy-constructor.
 
bool operator== (const queue_pop_iterator &) const noexcept
 Returns true, if the container is empty. More...
 
bool operator!= (const queue_pop_iterator &rhs) const noexcept
 Returns true, if the container is not empty. More...
 
const value_type & operator * () const noexcept
 Dereference.
 
const value_type * operator-> () const noexcept
 Dereference.
 
queue_pop_iteratoroperator++ () noexcept
 Remove element from the container.
 
queue_pop_iteratoroperator++ (int)
 Impossible to implement. More...
 

Detailed Description

template<class Container, class Traits = queue_traits<Container>>
class sbn::queue_pop_iterator< Container, Traits >

Input iterator that removes element from the container on increment.

Date
2018-05-22
Author
Ivan Gankevich
See also
queue_push_iterator
Template Parameters
Containercontainer type
Traitscontainer traits type

Member Function Documentation

◆ operator!=()

template<class Container , class Traits = queue_traits<Container>>
bool sbn::queue_pop_iterator< Container, Traits >::operator!= ( const queue_pop_iterator< Container, Traits > &  rhs) const
inlinenoexcept

Returns true, if the container is not empty.

See also
operator==

◆ operator++()

template<class Container , class Traits = queue_traits<Container>>
queue_pop_iterator& sbn::queue_pop_iterator< Container, Traits >::operator++ ( int  )
inline

Impossible to implement.

Exceptions
std::logic_error

◆ operator==()

template<class Container , class Traits = queue_traits<Container>>
bool sbn::queue_pop_iterator< Container, Traits >::operator== ( const queue_pop_iterator< Container, Traits > &  ) const
inlinenoexcept

Returns true, if the container is empty.

Strictly speaking, the implementation is incorrect, but it works in all cases this iterator was designed for.


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