uTL
micro Template library
|
Indexed device iterator type. We "future call" interface methods from owner class to provide iterator functionality. More...
#include <dev_iterators.h>
Classes | |
struct | value_type_t |
Public Types | |
enum | Cursor { beg = _beg, eod = _beg+_size } |
#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 | |
Constructor / Destructor | |
iodev_it () noexcept | |
Default constructor. More... | |
iodev_it (cont_t *owner, size_t cursor=eod) noexcept | |
Basic constructor. More... | |
iodev_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 | |
reference | operator* () noexcept |
pointer | operator-> () noexcept |
Arrow operator. This is where the input method is invoked. More... | |
iterator_t & | operator++ () noexcept |
Pre increment. More... | |
iterator_t | operator++ (int) noexcept |
Post increment. More... | |
iterator_t & | operator-- () noexcept |
Pre decrement. More... | |
iterator_t | operator-- (int) noexcept |
Post decrement. More... | |
reference | operator[] (difference_type n) noexcept |
Random access through iterator. More... | |
iterator_t & | operator+= (difference_type n) noexcept |
Random cursor increment. More... | |
iterator_t | operator+ (difference_type n) const noexcept |
Addition operation. More... | |
iterator_t & | operator-= (difference_type n) noexcept |
Random cursor decrement. More... | |
iterator_t | operator- (difference_type n) const noexcept |
Subtraction operation. More... | |
const cont_t * | owner () const noexcept |
Export container for comparison. More... | |
const index_t & | cursor () const noexcept |
Export cursor for comparison. More... | |
Private Types | |
using | iterator_t = iodev_it< cont_t, iter_t, _beg, _size > |
< iterator type local name More... | |
Private Attributes | |
cont_t * | owner_ {nullptr} |
index_t | cursor_ {eod} |
virtual cursor for comparison operators More... | |
struct utl::iodev_it::value_type_t | value_ |
Indexed device iterator type. We "future call" interface methods from owner class to provide iterator functionality.
Value meta-programming function for SPI interface checking
_Tp | Type to check |
cont_t | Container/parent type |
iter_t | Iterator data type (pointer to container_t::value_type) |
_beg | Starting address of the device |
_size | Device's address space size |
Definition at line 740 of file dev_iterators.h.
using utl::iodev_it< cont_t, iter_t, _beg, _size >::difference_type = typename dev_iterator_traits <std::output_iterator_tag, iter_t>::difference_type |
Definition at line 750 of file dev_iterators.h.
using utl::iodev_it< cont_t, iter_t, _beg, _size >::iterator_category = typename dev_iterator_traits <std::output_iterator_tag, iter_t>::iterator_category |
STL iterator traits "forwarding"
Definition at line 748 of file dev_iterators.h.
|
private |
< iterator type local name
Definition at line 742 of file dev_iterators.h.
using utl::iodev_it< cont_t, iter_t, _beg, _size >::pointer = typename dev_iterator_traits <std::output_iterator_tag, iter_t>::pointer |
Definition at line 751 of file dev_iterators.h.
using utl::iodev_it< cont_t, iter_t, _beg, _size >::reference = typename dev_iterator_traits <std::output_iterator_tag, iter_t>::reference |
Definition at line 752 of file dev_iterators.h.
using utl::iodev_it< cont_t, iter_t, _beg, _size >::type = iterator_t |
Export type as identity meta-function
Definition at line 744 of file dev_iterators.h.
using utl::iodev_it< cont_t, iter_t, _beg, _size >::value_type = typename dev_iterator_traits <std::output_iterator_tag, iter_t>::value_type |
Definition at line 749 of file dev_iterators.h.
enum utl::iodev_it::Cursor |
#define-like enumerator for Cursor
Enumerator | |
---|---|
beg | Points the first item. |
eod | Points one place after last item. |
Definition at line 756 of file dev_iterators.h.
|
inlinenoexcept |
Default constructor.
Definition at line 790 of file dev_iterators.h.
|
inlineexplicitnoexcept |
Basic constructor.
Definition at line 795 of file dev_iterators.h.
|
inlineexplicitnoexcept |
Basic copy constructor.
Definition at line 800 of file dev_iterators.h.
|
inlinenoexcept |
Export cursor for comparison.
Definition at line 878 of file dev_iterators.h.
|
inlinenoexcept |
De-reference operator. This is where the input method is invoked
Definition at line 819 of file dev_iterators.h.
|
inlinenoexcept |
Addition operation.
Definition at line 862 of file dev_iterators.h.
|
inlinenoexcept |
Pre increment.
Definition at line 830 of file dev_iterators.h.
|
inlinenoexcept |
Post increment.
Definition at line 835 of file dev_iterators.h.
|
inlinenoexcept |
Random cursor increment.
Definition at line 857 of file dev_iterators.h.
|
inlinenoexcept |
Subtraction operation.
Definition at line 871 of file dev_iterators.h.
|
inlinenoexcept |
Pre decrement.
Definition at line 841 of file dev_iterators.h.
|
inlinenoexcept |
Post decrement.
Definition at line 846 of file dev_iterators.h.
|
inlinenoexcept |
Random cursor decrement.
Definition at line 866 of file dev_iterators.h.
|
inlinenoexcept |
Arrow operator. This is where the input method is invoked.
Definition at line 824 of file dev_iterators.h.
|
inlinenoexcept |
Basic copy assignment operator.
Definition at line 805 of file dev_iterators.h.
|
inlinenoexcept |
Random access through iterator.
Definition at line 852 of file dev_iterators.h.
|
inlinenoexcept |
Export container for comparison.
Definition at line 876 of file dev_iterators.h.
|
private |
virtual cursor for comparison operators
Definition at line 767 of file dev_iterators.h.
|
private |
Pointer to parent/owner device class. Constructor demands owner container in order to access data. Considering the data don't "live" in memory.
Definition at line 762 of file dev_iterators.h.
|
private |