libpsynth 0.2.1
Public Types | Public Member Functions | Friends
psynth::sound::bit_aligned_frame_iterator< NonAlignedFrameReference > Struct Template Reference

An iterator over non-byte-aligned frames. More...

#include <bit_aligned_frame_iterator.hpp>

List of all members.

Public Types

typedef
parent_type::difference_type 
difference_type
typedef parent_type::reference reference

Public Member Functions

 bit_aligned_frame_iterator ()
 bit_aligned_frame_iterator (const bit_aligned_frame_iterator &p)
bit_aligned_frame_iteratoroperator= (const bit_aligned_frame_iterator &p)
template<typename Ref >
 bit_aligned_frame_iterator (const bit_aligned_frame_iterator< Ref > &p)
 bit_aligned_frame_iterator (reference *ref)
 bit_aligned_frame_iterator (typename bit_range_type::byte_type *data, int bit_offset=0)
reference operator[] (difference_type d) const
 For some reason operator[] provided by iterator_adaptor returns a custom class that is convertible to reference.
reference operator-> () const
const bit_range_type & bit_range () const
bit_range_type & bit_range ()

Friends

struct bit_aligned_frame_iterator
class boost::iterator_core_access

Detailed Description

template<typename NonAlignedFrameReference>
struct psynth::sound::bit_aligned_frame_iterator< NonAlignedFrameReference >

An iterator over non-byte-aligned frames.

Models FrameIteratorConcept, FrameBasedConcept, MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept

An iterator over frames that correspond to non-byte-aligned bit ranges. Examples of such frames are single bit grayscale frame, or a 6-bit RGB 222 frame.


Member Typedef Documentation

template<typename NonAlignedFrameReference>
typedef parent_type::difference_type psynth::sound::bit_aligned_frame_iterator< NonAlignedFrameReference >::difference_type
template<typename NonAlignedFrameReference>
typedef parent_type::reference psynth::sound::bit_aligned_frame_iterator< NonAlignedFrameReference >::reference

Constructor & Destructor Documentation

template<typename NonAlignedFrameReference>
psynth::sound::bit_aligned_frame_iterator< NonAlignedFrameReference >::bit_aligned_frame_iterator ( ) [inline]
template<typename NonAlignedFrameReference>
psynth::sound::bit_aligned_frame_iterator< NonAlignedFrameReference >::bit_aligned_frame_iterator ( const bit_aligned_frame_iterator< NonAlignedFrameReference > &  p) [inline]
template<typename NonAlignedFrameReference>
template<typename Ref >
psynth::sound::bit_aligned_frame_iterator< NonAlignedFrameReference >::bit_aligned_frame_iterator ( const bit_aligned_frame_iterator< Ref > &  p) [inline]
template<typename NonAlignedFrameReference>
psynth::sound::bit_aligned_frame_iterator< NonAlignedFrameReference >::bit_aligned_frame_iterator ( reference ref) [inline]
template<typename NonAlignedFrameReference>
psynth::sound::bit_aligned_frame_iterator< NonAlignedFrameReference >::bit_aligned_frame_iterator ( typename bit_range_type::byte_type *  data,
int  bit_offset = 0 
) [inline, explicit]

Member Function Documentation

template<typename NonAlignedFrameReference>
const bit_range_type& psynth::sound::bit_aligned_frame_iterator< NonAlignedFrameReference >::bit_range ( ) const [inline]
template<typename NonAlignedFrameReference>
bit_range_type& psynth::sound::bit_aligned_frame_iterator< NonAlignedFrameReference >::bit_range ( ) [inline]
template<typename NonAlignedFrameReference>
reference psynth::sound::bit_aligned_frame_iterator< NonAlignedFrameReference >::operator-> ( ) const [inline]
template<typename NonAlignedFrameReference>
bit_aligned_frame_iterator& psynth::sound::bit_aligned_frame_iterator< NonAlignedFrameReference >::operator= ( const bit_aligned_frame_iterator< NonAlignedFrameReference > &  p) [inline]
template<typename NonAlignedFrameReference>
reference psynth::sound::bit_aligned_frame_iterator< NonAlignedFrameReference >::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


Friends And Related Function Documentation

template<typename NonAlignedFrameReference>
friend struct bit_aligned_frame_iterator [friend]
template<typename NonAlignedFrameReference>
friend class boost::iterator_core_access [friend]

The documentation for this struct was generated from the following file: