|
libpsynth 0.2.1
|
An iterator over planar frames. More...
#include <planar_frame_iterator.hpp>
Classes | |
| struct | address_of |
Public Types | |
| typedef parent_type::value_type | value_type |
| typedef parent_type::reference | reference |
| typedef parent_type::difference_type | difference_type |
Public Member Functions | |
| planar_frame_iterator () | |
| planar_frame_iterator (bool) | |
| planar_frame_iterator (const SamplePtr &v0, const SamplePtr &v1) | |
| planar_frame_iterator (const SamplePtr &v0, const SamplePtr &v1, const SamplePtr &v2) | |
| planar_frame_iterator (const SamplePtr &v0, const SamplePtr &v1, const SamplePtr &v2, const SamplePtr &v3) | |
| planar_frame_iterator (const SamplePtr &v0, const SamplePtr &v1, const SamplePtr &v2, const SamplePtr &v3, const SamplePtr &v4) | |
| template<typename IC1 , typename C1 > | |
| planar_frame_iterator (const planar_frame_iterator< IC1, C1 > &ptr) | |
| template<typename P > | |
| planar_frame_iterator (P *pix) | |
| Copy constructor and operator= from pointers to compatible planar frames or planar frame references. | |
| template<typename P > | |
| planar_frame_iterator & | operator= (P *pix) |
| reference | operator[] (difference_type d) const |
| For some reason operator[] provided by iterator_facade returns a custom class that is convertible to reference. | |
| reference | operator-> () const |
| bool | operator< (const planar_frame_iterator &ptr) const |
| bool | operator!= (const planar_frame_iterator &ptr) const |
Friends | |
| class | boost::iterator_core_access |
An iterator over planar frames.
Models HomogeneousChannelBaseConcept, FrameIteratorConcept, HomogeneousFrameBasedConcept, MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept
Planar frames have sample data that is not consecutive in memory. To abstract this we use classes to represent references and pointers to planar frames.
FrameBasedModel
| typedef parent_type::difference_type psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::difference_type |
| typedef parent_type::reference psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::reference |
| typedef parent_type::value_type psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::value_type |
| psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::planar_frame_iterator | ( | ) | [inline] |
| psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::planar_frame_iterator | ( | bool | ) | [inline] |
| psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::planar_frame_iterator | ( | const SamplePtr & | v0, |
| const SamplePtr & | v1 | ||
| ) | [inline] |
| psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::planar_frame_iterator | ( | const SamplePtr & | v0, |
| const SamplePtr & | v1, | ||
| const SamplePtr & | v2 | ||
| ) | [inline] |
| psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::planar_frame_iterator | ( | const SamplePtr & | v0, |
| const SamplePtr & | v1, | ||
| const SamplePtr & | v2, | ||
| const SamplePtr & | v3 | ||
| ) | [inline] |
| psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::planar_frame_iterator | ( | const SamplePtr & | v0, |
| const SamplePtr & | v1, | ||
| const SamplePtr & | v2, | ||
| const SamplePtr & | v3, | ||
| const SamplePtr & | v4 | ||
| ) | [inline] |
| psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::planar_frame_iterator | ( | const planar_frame_iterator< IC1, C1 > & | ptr | ) | [inline] |
| psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::planar_frame_iterator | ( | P * | pix | ) | [inline] |
Copy constructor and operator= from pointers to compatible planar frames or planar frame references.
That allow constructs like pointer = &value or pointer = &reference Since we should not override operator& that's the best we can do.
| bool psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::operator!= | ( | const planar_frame_iterator< SamplePtr, ChannelSpace > & | ptr | ) | const [inline] |
| reference psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::operator-> | ( | ) | const [inline] |
| bool psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::operator< | ( | const planar_frame_iterator< SamplePtr, ChannelSpace > & | ptr | ) | const [inline] |
| planar_frame_iterator& psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::operator= | ( | P * | pix | ) | [inline] |
| reference psynth::sound::planar_frame_iterator< SamplePtr, ChannelSpace >::operator[] | ( | difference_type | d | ) | const [inline] |
For some reason operator[] provided by iterator_facade returns a custom class that is convertible to reference.
We require our own reference because it is registered in iterator_traits.
friend class boost::iterator_core_access [friend] |
1.7.4