#include <wipal/tool/valued_iterator.hh>
Public Types | |
Static hierarchies related types | |
typedef HIDDEN | exact_type |
typedef iterator< exact_type > | super_type |
typedef HIDDEN | value_type |
Iterator types. | |
typedef ssize_t | difference_type |
typedef value_type * | pointer |
typedef value_type & | reference |
typedef std::input_iterator_tag | iterator_category |
Public Member Functions | |
Indirection as a reference | |
const value_type & | get () const |
value_type & | get () |
Indirection as a pointer | |
const value_type * | get_ptr () const |
value_type * | get_ptr () |
Equality checks | |
bool | operator== (const exact_type &) const |
bool | operator!= (const exact_type &) const |
Increment operators | |
const exact_type & | operator++ () |
exact_type | operator++ (int) |
Indirections | |
const value_type & | operator* () const |
const value_type * | operator-> () const |
Downcast methods | |
const exact_type & | exact () const |
exact_type & | exact () |
const exact_type * | exact_ptr () const |
exact_type * | exact_ptr () |
Protected Types | |
typedef boost::optional < value_type > | optional_value |
Protected Member Functions | |
~valued_iterator () | |
Access to the iterator's embedded value | |
const optional_value & | value () const |
optional_value & | value () |
valued_iterator represents an iterator that embeds its value inside a boost::optional<value_type>
attribute. Subclasses access this value using value(). valued_iterator implements the get() and get_ptr() methods which are required by iterator. These methods return the embeded value (with undefined results if the value is boost::none_t
). Implement the increment()
and equal()
methods to subclass it. increment()
should either store the next element into value(), either store boost::none_t to indicate end of iteration.
Subclasses must also declare the value_type virtual type .
typedef HIDDEN tool::valued_iterator< Bottom >::exact_type |
Exact type for this template instantiation.
Reimplemented from tool::iterator< Bottom >.
Reimplemented in pcapxx::internals::frame_iterator< Descriptor, Bottom >, and wifi::frame::filter::internals::uniquely_identifiable_iterator< U, I, H, B, Bottom >.
typedef boost::optional<value_type> tool::valued_iterator< Bottom >::optional_value [protected] |
Type of the embedded value.
tool::valued_iterator< B >::~valued_iterator | ( | ) | [inline, protected] |
Protected destructor: valued_iterator is abstract.
exact_type& tool::static_base< Bottom >::exact | ( | ) | [inherited] |
Safely downcast to the exact type as a non-const reference.
const exact_type& tool::static_base< Bottom >::exact | ( | ) | const [inherited] |
Safely downcast to the exact type as a const reference.
exact_type* tool::static_base< Bottom >::exact_ptr | ( | ) | [inherited] |
Safely downcast to the exact type as a non-const pointer.
const exact_type* tool::static_base< Bottom >::exact_ptr | ( | ) | const [inherited] |
Safely downcast to the exact type as a const pointer.