libpsynth 0.2.1
Public Types | Public Member Functions | Friends
psynth::sound::bit_range< RangeSize, Mutable > Class Template Reference

bit_range More...

#include <bit_aligned_frame_reference.hpp>

List of all members.

Public Types

typedef boost::mpl::if_c
< Mutable, unsigned char,
const unsigned char >::type 
byte_type
typedef std::ptrdiff_t difference_type

Public Member Functions

 bit_range ()
 bit_range (byte_type *current_byte, int bit_offset)
 bit_range (const bit_range &br)
template<bool M>
 bit_range (const bit_range< RangeSize, M > &br)
bit_range & operator= (const bit_range &br)
bool operator== (const bit_range &br) const
bit_range & operator++ ()
bit_range & operator-- ()
void bit_advance (difference_type num_bits)
difference_type bit_distance_to (const bit_range &b) const
byte_type * current_byte () const
int bit_offset () const

Friends

class bit_range

Detailed Description

template<int RangeSize, bool Mutable>
class psynth::sound::bit_range< RangeSize, Mutable >

bit_range

Represents a range of bits that can span multiple consecutive bytes. The range has a size fixed at compile time, but the offset is specified at run time.

Todo:
Maybe this should be in psynth::base?

Member Typedef Documentation

template<int RangeSize, bool Mutable>
typedef boost::mpl::if_c<Mutable, unsigned char, const unsigned char>::type psynth::sound::bit_range< RangeSize, Mutable >::byte_type
template<int RangeSize, bool Mutable>
typedef std::ptrdiff_t psynth::sound::bit_range< RangeSize, Mutable >::difference_type

Constructor & Destructor Documentation

template<int RangeSize, bool Mutable>
psynth::sound::bit_range< RangeSize, Mutable >::bit_range ( ) [inline]
template<int RangeSize, bool Mutable>
psynth::sound::bit_range< RangeSize, Mutable >::bit_range ( byte_type *  current_byte,
int  bit_offset 
) [inline]
template<int RangeSize, bool Mutable>
psynth::sound::bit_range< RangeSize, Mutable >::bit_range ( const bit_range< RangeSize, Mutable > &  br) [inline]
template<int RangeSize, bool Mutable>
template<bool M>
psynth::sound::bit_range< RangeSize, Mutable >::bit_range ( const bit_range< RangeSize, M > &  br) [inline]

Member Function Documentation

template<int RangeSize, bool Mutable>
void psynth::sound::bit_range< RangeSize, Mutable >::bit_advance ( difference_type  num_bits) [inline]
template<int RangeSize, bool Mutable>
difference_type psynth::sound::bit_range< RangeSize, Mutable >::bit_distance_to ( const bit_range< RangeSize, Mutable > &  b) const [inline]
template<int RangeSize, bool Mutable>
int psynth::sound::bit_range< RangeSize, Mutable >::bit_offset ( ) const [inline]
template<int RangeSize, bool Mutable>
byte_type* psynth::sound::bit_range< RangeSize, Mutable >::current_byte ( ) const [inline]
template<int RangeSize, bool Mutable>
bit_range& psynth::sound::bit_range< RangeSize, Mutable >::operator++ ( ) [inline]
template<int RangeSize, bool Mutable>
bit_range& psynth::sound::bit_range< RangeSize, Mutable >::operator-- ( ) [inline]
template<int RangeSize, bool Mutable>
bit_range& psynth::sound::bit_range< RangeSize, Mutable >::operator= ( const bit_range< RangeSize, Mutable > &  br) [inline]
template<int RangeSize, bool Mutable>
bool psynth::sound::bit_range< RangeSize, Mutable >::operator== ( const bit_range< RangeSize, Mutable > &  br) const [inline]

Friends And Related Function Documentation

template<int RangeSize, bool Mutable>
friend class bit_range [friend]

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