libpsynth 0.2.1
Classes | Functions
PackedSampleDynamicReferenceModel

packed_dynamic_sample_reference More...

Classes

class  psynth::sound::packed_dynamic_sample_reference< BitField, NumBits, false >
 Models a constant subbyte sample reference whose bit offset is a runtime parameter. More...
class  psynth::sound::packed_dynamic_sample_reference< BitField, NumBits, true >
 Models a mutable subbyte sample reference whose bit offset is a runtime parameter. More...

Functions

template<typename BF , int NB, bool M, typename R >
void std::swap (const psynth::sound::packed_dynamic_sample_reference< BF, NB, M > x, R &y)
 swap for packed_dynamic_sample_reference
template<typename BF , int NB, bool M>
void std::swap (typename psynth::sound::packed_dynamic_sample_reference< BF, NB, M >::value_type &x, const psynth::sound::packed_dynamic_sample_reference< BF, NB, M > y)
 swap for packed_dynamic_sample_reference
template<typename BF , int NB, bool M>
void std::swap (const psynth::sound::packed_dynamic_sample_reference< BF, NB, M > x, const psynth::sound::packed_dynamic_sample_reference< BF, NB, M > y)
 swap for packed_dynamic_sample_reference

Detailed Description

packed_dynamic_sample_reference

Represents a reference proxy to a sample operating over a bit range whose offset is specified at run time. Models SampleConcept

Example:

   // Reference to a 2-bit sample whose offset is specified at
   // construction time

   typedef const packed_dynamic_sample_reference<uint8_t,2,true>
   bits2_dynamic_ref_t;

   uint16_t data=0;
   bits2_dynamic_ref_t sample_ref(&data,1);
   sample_ref = sample_traits<bits2_dynamic_ref_t>::max_value();     // == 3
   assert(data == 6);               // == (3<<1) == 6

Function Documentation

template<typename BF , int NB, bool M, typename R >
void std::swap ( const psynth::sound::packed_dynamic_sample_reference< BF, NB, M >  x,
R &  y 
) [inline]

swap for packed_dynamic_sample_reference

template<typename BF , int NB, bool M>
void std::swap ( const psynth::sound::packed_dynamic_sample_reference< BF, NB, M >  x,
const psynth::sound::packed_dynamic_sample_reference< BF, NB, M >  y 
) [inline]

swap for packed_dynamic_sample_reference

template<typename BF , int NB, bool M>
void std::swap ( typename psynth::sound::packed_dynamic_sample_reference< BF, NB, M >::value_type &  x,
const psynth::sound::packed_dynamic_sample_reference< BF, NB, M >  y 
) [inline]

swap for packed_dynamic_sample_reference