|
libpsynth 0.2.1
|
Iterator with dynamically specified step in memory units (bytes or bits). More...
#include <step_iterator.hpp>


Public Types | |
| typedef detail::step_iterator_adaptor < memory_based_step_iterator < Iterator >, Iterator, memunit_step_fn< Iterator > > | parent_type |
| typedef parent_type::reference | reference |
| typedef parent_type::difference_type | difference_type |
| typedef Iterator | base_iterator |
Public Member Functions | |
| memory_based_step_iterator () | |
| memory_based_step_iterator (Iterator it, std::ptrdiff_t memunit_step) | |
| template<typename I2 > | |
| memory_based_step_iterator (const memory_based_step_iterator< I2 > &it) | |
| reference | operator[] (difference_type d) const |
| For some reason operator[] provided by iterator_adaptor returns a custom class that is convertible to reference We require our own reference because it is registered in iterator_traits. | |
| void | set_step (std::ptrdiff_t memunit_step) |
| base_iterator & | base () |
| base_iterator const & | base () const |
Iterator with dynamically specified step in memory units (bytes or bits).
Models StepIteratorConcept, IteratorAdaptorConcept, MemoryBasedIteratorConcept, FrameIteratorConcept, HasDynamicXStepTypeConcept
A refinement of step_iterator_adaptor that uses a dynamic parameter for the step which is specified in memory units, such as bytes or bits
Frame step iterators are used to provide iteration over non-adjacent frames. Common use is a vertical traversal, where the step is the row stride.
Another application is as a sub-sample range. For example, a red intensity image over interleaved RGB data would use a step iterator adaptor with step sizeof(sample_t)*3 In the latter example the step size could be fixed at compile time for efficiency. Compile-time fixed step can be implemented by providing a step function object that takes the step as a template
| typedef Iterator psynth::sound::memory_based_step_iterator< Iterator >::base_iterator |
| typedef parent_type::difference_type psynth::sound::memory_based_step_iterator< Iterator >::difference_type |
| typedef detail::step_iterator_adaptor<memory_based_step_iterator<Iterator>, Iterator, memunit_step_fn<Iterator> > psynth::sound::memory_based_step_iterator< Iterator >::parent_type |
| typedef parent_type::reference psynth::sound::memory_based_step_iterator< Iterator >::reference |
| psynth::sound::memory_based_step_iterator< Iterator >::memory_based_step_iterator | ( | ) | [inline] |
| psynth::sound::memory_based_step_iterator< Iterator >::memory_based_step_iterator | ( | Iterator | it, |
| std::ptrdiff_t | memunit_step | ||
| ) | [inline] |
| psynth::sound::memory_based_step_iterator< Iterator >::memory_based_step_iterator | ( | const memory_based_step_iterator< I2 > & | it | ) | [inline] |
| base_iterator& psynth::sound::memory_based_step_iterator< Iterator >::base | ( | ) | [inline] |
| base_iterator const& psynth::sound::memory_based_step_iterator< Iterator >::base | ( | ) | const [inline] |
| reference psynth::sound::memory_based_step_iterator< Iterator >::operator[] | ( | difference_type | d | ) | const [inline] |
For some reason operator[] provided by iterator_adaptor returns a custom class that is convertible to reference We require our own reference because it is registered in iterator_traits.
| void psynth::sound::memory_based_step_iterator< Iterator >::set_step | ( | std::ptrdiff_t | memunit_step | ) | [inline] |
1.7.4