uTL
micro Template library
|
Output device iterator type. We "future call" interface methods from owner class to provide iterator functionality. More...
#include <dev_iterators.h>
Public Types | |
enum | Cursor { beg = _beg, eod = _end } |
#define-like enumerator for Cursor More... | |
using | type = iterator_t |
using | iterator_category = typename dev_iterator_traits< std::output_iterator_tag, iter_t >::iterator_category |
using | value_type = typename dev_iterator_traits< std::output_iterator_tag, iter_t >::value_type |
using | difference_type = typename dev_iterator_traits< std::output_iterator_tag, iter_t >::difference_type |
using | pointer = typename dev_iterator_traits< std::output_iterator_tag, iter_t >::pointer |
using | reference = typename dev_iterator_traits< std::output_iterator_tag, iter_t >::reference |
Public Member Functions | |||
const cont_t * | owner () const noexcept | ||
Export container for comparison. More... | |||
const index_t | cursor () const noexcept | ||
Export cursor for comparison. More... | |||
Constructor / Destructor | |||
outdev_it () noexcept | |||
Default constructor results to end() More... | |||
outdev_it (cont_t *owner, index_t cursor=eod) noexcept | |||
Basic constructor. More... | |||
outdev_it (const iterator_t &it) noexcept | |||
Basic copy constructor. More... | |||
iterator_t & | operator= (const iterator_t &it) noexcept | ||
Basic copy assignment operator. More... | |||
Public interface | |||
Iterator to const-iterator conversion (as STL requires)
| |||
iterator_t & | operator* () noexcept | ||
iterator_t & | operator= (const value_type &value) | ||
Value-assignment operation. Where the output method is invoked. More... | |||
++ operators | |||
iterator_t & | operator++ () noexcept | ||
iterator_t | operator++ (int) noexcept | ||
Private Types | |
using | iterator_t = outdev_it< cont_t, iter_t, _beg, _end > |
iterator type local name More... | |
Private Attributes | |
cont_t * | owner_ {nullptr} |
index_t | cursor_ {eod} |
virtual cursor for comparison operators More... | |
Output device iterator type. We "future call" interface methods from owner class to provide iterator functionality.
cont_t | Container/parent type |
iter_t | Iterator data type (pointer to container_t::value_type) |
devsize | Device's address space size |
Definition at line 250 of file dev_iterators.h.
using utl::outdev_it< cont_t, iter_t, _beg, _end >::difference_type = typename dev_iterator_traits <std::output_iterator_tag, iter_t>::difference_type |
Definition at line 260 of file dev_iterators.h.
using utl::outdev_it< cont_t, iter_t, _beg, _end >::iterator_category = typename dev_iterator_traits <std::output_iterator_tag, iter_t>::iterator_category |
STL iterator traits "forwarding"
Definition at line 258 of file dev_iterators.h.
|
private |
iterator type local name
Definition at line 252 of file dev_iterators.h.
using utl::outdev_it< cont_t, iter_t, _beg, _end >::pointer = typename dev_iterator_traits <std::output_iterator_tag, iter_t>::pointer |
Definition at line 261 of file dev_iterators.h.
using utl::outdev_it< cont_t, iter_t, _beg, _end >::reference = typename dev_iterator_traits <std::output_iterator_tag, iter_t>::reference |
Definition at line 262 of file dev_iterators.h.
using utl::outdev_it< cont_t, iter_t, _beg, _end >::type = iterator_t |
Export type as identity meta-function
Definition at line 254 of file dev_iterators.h.
using utl::outdev_it< cont_t, iter_t, _beg, _end >::value_type = typename dev_iterator_traits <std::output_iterator_tag, iter_t>::value_type |
Definition at line 259 of file dev_iterators.h.
enum utl::outdev_it::Cursor |
#define-like enumerator for Cursor
Enumerator | |
---|---|
beg | Points the first item (relative address) |
eod | Points one place after last item (relative address) |
Definition at line 265 of file dev_iterators.h.
|
inlineexplicitnoexcept |
Default constructor results to end()
Definition at line 283 of file dev_iterators.h.
|
inlineexplicitnoexcept |
Basic constructor.
Definition at line 287 of file dev_iterators.h.
|
inlineexplicitnoexcept |
Basic copy constructor.
Definition at line 291 of file dev_iterators.h.
|
inlinenoexcept |
Export cursor for comparison.
Definition at line 343 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 314 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 329 of file dev_iterators.h.
|
inlinenoexcept |
Definition at line 333 of file dev_iterators.h.
|
inlinenoexcept |
Basic copy assignment operator.
Definition at line 295 of file dev_iterators.h.
|
inline |
Value-assignment operation. Where the output method is invoked.
value | An instance of Cont_t::data_type |
Definition at line 321 of file dev_iterators.h.
|
inlinenoexcept |
Export container for comparison.
Definition at line 341 of file dev_iterators.h.
|
private |
virtual cursor for comparison operators
Definition at line 276 of file dev_iterators.h.
|
private |
Pointer to parent/owner device class. Usable iterator demands owner container in order to access data. Considering the data don't "live" in memory. A default constructed iterator will behave like end() just like the input version does.
Definition at line 270 of file dev_iterators.h.