libpsynth 0.2.1
Classes | Functions
psynth::sound::detail Namespace Reference

interleaved_range_get_raw_data, planar_range_get_raw_data - return pointers to the raw data (the samples) of a basic homogeneous range. More...

Classes

struct  copy_fn
class  copy_and_convert_frames_fn
struct  std_fill_type
 struct to do std::fill More...
struct  std_destruct_t
struct  has_trivial_frame_constructor
struct  has_trivial_frame_constructor< Range, true >
struct  equal_n_fn
struct  equal_n_fn< const frame< T, Cs > *, const frame< T, Cs > * >
 Equal when both ranges are interleaved and of the same type. More...
struct  equal_n_fn< frame< T, Cs > *, frame< T, Cs > * >
struct  equal_n_fn< planar_frame_iterator< IC, Cs >, planar_frame_iterator< IC, Cs > >
 EqualFrames Equal when both ranges are planar pointers of the same type. More...
struct  apply_operation_fwd_fn
struct  reduce_bind1
struct  reduce_bind2
struct  sum_k
struct  sum_k< IntegralVector, 0 >
struct  k_copies< 0, T >
struct  k_copies
struct  sample_pointer_type_impl< Range, true >
struct  sample_pointer_type_impl< Range, false >
struct  sample_pointer_type
struct  channel_converted_range_type_impl
struct  channel_converted_range_type_impl< SrcRange, CC, DstP, DstP >
struct  nth_sample_range_basic_impl< Range, false >
 nth_sample_range when the samples are not adjacent in memory. More...
struct  nth_sample_range_basic_impl< Range, true >
struct  nth_sample_range_impl< Range, true >
struct  nth_sample_deref_fn
 Function object that returns a grayscale reference of the N-th sample of a given reference. More...
struct  nth_sample_range_impl< Range, false >
struct  kth_sample_range_basic_impl< K, Range, false >
struct  kth_sample_range_basic_impl< K, Range, true >
struct  kth_sample_range_impl< K, Range, true >
struct  kth_sample_deref_fn
 Function object that returns a grayscale reference of the K-th sample (specified as a template parameter) of a given reference. More...
struct  kth_sample_range_impl< K, Range, false >
struct  mapping_transform
struct  homogeneous_channel_base< Element, Layout, 1 >
 A homogeneous channel base holding one channel element. More...
struct  homogeneous_channel_base< Element, Layout, 2 >
 A homogeneous channel base holding two channel elements. More...
struct  homogeneous_channel_base< Element, Layout, 3 >
 A homogeneous channel base holding three channel elements. More...
struct  homogeneous_channel_base< Element, Layout, 4 >
 A homogeneous channel base holding four channel elements. More...
struct  homogeneous_channel_base< Element, Layout, 5 >
 A homogeneous channel base holding five channel elements. More...
struct  swap_fn
struct  element_recursion
struct  element_recursion< 0 >
struct  min_max_recur
struct  min_max_recur< 1 >
struct  ForwardIteratorIsMutableConcept
struct  BidirectionalIteratorIsMutableConcept
struct  RandomAccessIteratorIsMutableConcept
struct  SampleIsMutableConcept
struct  samples_are_pairwise_compatible
struct  samples_are_pairwise_compatible< F1, F2,-1 >
struct  FrameIteratorIsMutableConcept
struct  RandomAccessIteratorIsMemoryBasedConcept
struct  RandomAccessBufferRangeIsMutableConcept
struct  FrameBufferRangeIsMutableConcept
struct  equal_frames_fn
struct  copy_frames_fn
struct  fill_frames_fn1
struct  fill_frames_fn1< false >
struct  fill_frames_fn
struct  get_range_type
struct  buffers_get_ranges_type
struct  get_const_range_type
struct  buffers_get_const_ranges_type
struct  recreate_buffer_fnobj
struct  dynamic_buffer_get_range
struct  dynamic_buffer_get_const_range
struct  get_const_type
struct  ranges_get_const_type
struct  dynamic_type_get_num_samples
struct  dynamic_type_get_size
struct  flipped_range_fn
struct  sub_range_fn
struct  sub_sampled_range_fn
struct  nth_sample_range_fn
struct  channel_converted_range_fn
struct  flipped_fn
struct  get_nthsample_type
struct  ranges_get_nthsample_type
struct  get_ccv_type
struct  ranges_get_ccv_type
struct  iterator_is_step_impl< It, IsBase, true >
struct  iterator_is_step_impl< It, true, false >
struct  iterator_is_step_impl< It, false, false >
struct  packed_sample_reference_type
class  packed_sample_references_vector_type
struct  item_output_fn
struct  sample_iterator_is_mutable
struct  sample_iterator_is_mutable< const T * >
class  unsafe_ring_position
 A pointer a reader can use to read data from the buffer. More...
class  ring_position
class  ring_iterator
struct  sample_traits_impl< T, true >
struct  sample_traits_impl< T, false >
struct  sample_traits_impl< const T, false >
struct  min_fast_uint
struct  static_copy_bytes
struct  static_copy_bytes< 0 >
class  packed_sample_reference_base
struct  unsigned_integral_max_value
 unsigned_integral_max_value - given an unsigned integral sample type, returns its maximum value as an MPL integral constant More...
struct  unsigned_integral_max_value< uint8_t >
struct  unsigned_integral_max_value< uint16_t >
struct  unsigned_integral_max_value< uint32_t >
struct  unsigned_integral_max_value< packed_sample_value< K > >
struct  unsigned_integral_num_bits
 unsigned_integral_num_bits - given an unsigned integral sample type, returns the minimum number of bits needed to represent it More...
struct  unsigned_integral_num_bits< packed_sample_value< K > >
struct  sample_converter_unsigned_impl
 sample_converter_unsigned_impl More...
struct  sample_converter_unsigned_impl< SrcSampleV, DstSampleV, true, true >
struct  sample_converter_unsigned_integral< SrcSampleV, DstSampleV, true >
 sample_converter_unsigned_integral More...
struct  sample_converter_unsigned_integral< SrcSampleV, DstSampleV, false >
struct  sample_converter_unsigned_integral_impl< SrcSampleV, DstSampleV, true, true >
 sample_converter_unsigned_integral_impl More...
struct  sample_converter_unsigned_integral_impl< SrcSampleV, DstSampleV, false, true >
struct  sample_converter_unsigned_integral_impl< uintmax_t, DstSampleV, false, true >
struct  sample_converter_unsigned_integral_impl< SrcSampleV, DstSampleV, SrcLessThanDst, false >
struct  sample_converter_unsigned_integral_nondivisible< SrcSampleV, DstSampleV, true, false >
struct  sample_converter_unsigned_integral_nondivisible< SrcSampleV, DstSampleV, true, true >
struct  sample_converter_unsigned_integral_nondivisible< SrcSampleV, DstSampleV, false, CannotFit >
struct  sample_convert_to_unsigned
struct  sample_convert_to_unsigned< bits8s >
struct  sample_convert_to_unsigned< bits16s >
struct  sample_convert_to_unsigned< bits32s >
struct  sample_convert_to_unsigned< bits32sf >
struct  sample_convert_from_unsigned
struct  sample_convert_from_unsigned< bits8s >
struct  sample_convert_from_unsigned< bits16s >
struct  sample_convert_from_unsigned< bits32s >
struct  sample_convert_from_unsigned< bits32sf >
struct  sample_converter_impl
struct  sample_converter_impl< SrcSampleV, DstSampleV, false >
class  step_iterator_adaptor
 An adaptor over an existing iterator that changes the step unit. More...
struct  identity
 identity taken from SGI STL. More...
struct  plus_asymmetric
 plus function object whose arguments may be of different type. More...
struct  inc
 operator++ wrapped in a function object More...
struct  dec
 operator-- wrapped in a function object More...
struct  type_to_index
 Returns the index corresponding to the first occurrance of a given given type in a given MPL RandomAccessSequence (or size if the type is not present) More...
struct  destructor_op
struct  copy_construct_in_place_fn
struct  equal_to_fn

Functions

template<typename It , typename P >
PSYNTH_FORCEINLINE void fill_aux (It first, It last, const P &p, boost::mpl::true_)
 std::fill for planar iterators
template<typename It , typename P >
PSYNTH_FORCEINLINE void fill_aux (It first, It last, const P &p, boost::mpl::false_)
 std::fill for interleaved iterators
template<typename It >
PSYNTH_FORCEINLINE void destruct_range_impl (It first, It last, boost::mpl::true_)
template<typename It >
PSYNTH_FORCEINLINE void destruct_range_impl (It, It, boost::mpl::false_)
template<typename It >
PSYNTH_FORCEINLINE void destruct_range (It first, It last)
template<typename It >
PSYNTH_FORCEINLINE void destruct_aux (It first, It last, boost::mpl::true_)
 destruct for planar iterators
template<typename It >
PSYNTH_FORCEINLINE void destruct_aux (It first, It last, boost::mpl::false_)
 destruct for interleaved iterators
template<typename It , typename P >
PSYNTH_FORCEINLINE void uninitialized_fill_aux (It first, It last, const P &p, boost::mpl::true_)
 std::uninitialized_fill for planar iterators If an exception is thrown destructs any in-place copy-constructed objects
template<typename It , typename P >
PSYNTH_FORCEINLINE void uninitialized_fill_aux (It first, It last, const P &p, boost::mpl::false_)
 std::uninitialized_fill for interleaved iterators If an exception is thrown destructs any in-place copy-constructed objects
template<typename It >
PSYNTH_FORCEINLINE void default_construct_range_impl (It first, It last, boost::mpl::true_)
template<typename It >
PSYNTH_FORCEINLINE void default_construct_range_impl (It, It, boost::mpl::false_)
template<typename It >
PSYNTH_FORCEINLINE void default_construct_range (It first, It last)
template<typename It >
PSYNTH_FORCEINLINE void default_construct_aux (It first, It last, boost::mpl::true_)
 uninitialized_default_construct for planar iterators
template<typename It >
PSYNTH_FORCEINLINE void default_construct_aux (It first, It last, boost::mpl::false_)
 uninitialized_default_construct for interleaved iterators
template<typename It1 , typename It2 >
PSYNTH_FORCEINLINE void uninitialized_copy_aux (It1 first1, It1 last1, It2 first2, boost::mpl::true_)
 std::uninitialized_copy for pairs of planar iterators
template<typename It1 , typename It2 >
PSYNTH_FORCEINLINE void uninitialized_copy_aux (It1 first1, It1 last1, It2 first2, boost::mpl::false_)
 std::uninitialized_copy for interleaved or mixed iterators
template<typename Element , typename Layout , int K>
element_reference_type
< homogeneous_channel_base
< Element, Layout, K > >::type 
dynamic_at_c (homogeneous_channel_base< Element, Layout, K > &cb, std::size_t i)
template<typename Element , typename Layout , int K>
element_const_reference_type
< homogeneous_channel_base
< Element, Layout, K > >::type 
dynamic_at_c (const homogeneous_channel_base< Element, Layout, K > &cb, std::size_t i)
template<typename Element , typename Layout , int K>
element_reference_type
< homogeneous_channel_base
< Element &, Layout, K >
>::type 
dynamic_at_c (const homogeneous_channel_base< Element &, Layout, K > &cb, std::size_t i)
template<typename Element , typename Layout , int K>
element_const_reference_type
< homogeneous_channel_base
< const Element &, Layout, K >
>::type 
dynamic_at_c (const homogeneous_channel_base< const Element &, Layout, K > &cb, std::size_t i)
template<typename Q >
const Q & mutable_min (const Q &x, const Q &y)
template<typename Q >
Q & mutable_min (Q &x, Q &y)
template<typename Q >
const Q & mutable_max (const Q &x, const Q &y)
template<typename Q >
Q & mutable_max (Q &x, Q &y)
template<typename T >
void initialize_it (T &x)
template<class Frame >
std::ostream & output_frame (std::ostream &os, const Frame &f)
uint32_t div255 (uint32_t in)
uint32_t div32768 (uint32_t in)
template<typename D , typename Iterator , typename SFn >
bool operator> (const step_iterator_adaptor< D, Iterator, SFn > &p1, const step_iterator_adaptor< D, Iterator, SFn > &p2)
 although iterator_adaptor defines these, the default implementation computes distance and compares for zero.
template<typename D , typename Iterator , typename SFn >
bool operator< (const step_iterator_adaptor< D, Iterator, SFn > &p1, const step_iterator_adaptor< D, Iterator, SFn > &p2)
template<typename D , typename Iterator , typename SFn >
bool operator>= (const step_iterator_adaptor< D, Iterator, SFn > &p1, const step_iterator_adaptor< D, Iterator, SFn > &p2)
template<typename D , typename Iterator , typename SFn >
bool operator<= (const step_iterator_adaptor< D, Iterator, SFn > &p1, const step_iterator_adaptor< D, Iterator, SFn > &p2)
template<typename D , typename Iterator , typename SFn >
bool operator== (const step_iterator_adaptor< D, Iterator, SFn > &p1, const step_iterator_adaptor< D, Iterator, SFn > &p2)
template<typename D , typename Iterator , typename SFn >
bool operator!= (const step_iterator_adaptor< D, Iterator, SFn > &p1, const step_iterator_adaptor< D, Iterator, SFn > &p2)
template<typename I >
dynamic_step_type< I >::type make_step_iterator_impl (const I &it, std::ptrdiff_t step, boost::mpl::false_)
template<typename I >
dynamic_step_type< I >::type make_step_iterator_impl (const I &it, std::ptrdiff_t step, boost::mpl::true_)
template<typename BaseIt >
memory_based_step_iterator
< BaseIt > 
make_step_iterator_impl (const memory_based_step_iterator< BaseIt > &it, std::ptrdiff_t step, boost::mpl::true_)
template<class InputIter , class Size , class OutputIter >
std::pair< InputIter, OutputIter > do_copy_n (InputIter first, Size count, OutputIter result, std::input_iterator_tag)
 copy_n taken from SGI STL.
template<class RAIter , class Size , class OutputIter >
std::pair< RAIter, OutputIter > do_copy_n (RAIter first, Size count, OutputIter result, std::random_access_iterator_tag)
template<class InputIter , class Size , class OutputIter >
std::pair< InputIter, OutputIter > do_copy_n (InputIter first, Size count, OutputIter result)
template<class InputIter , class Size , class OutputIter >
std::pair< InputIter, OutputIter > copy_n (InputIter first, Size count, OutputIter result)
template<typename T , typename Bits >
void copy_construct_in_place (const T &t, Bits &bits)

Detailed Description

interleaved_range_get_raw_data, planar_range_get_raw_data - return pointers to the raw data (the samples) of a basic homogeneous range.


Function Documentation

template<typename T , typename Bits >
void psynth::sound::detail::copy_construct_in_place ( const T &  t,
Bits &  bits 
)
template<class InputIter , class Size , class OutputIter >
std::pair<InputIter, OutputIter> psynth::sound::detail::copy_n ( InputIter  first,
Size  count,
OutputIter  result 
) [inline]
template<typename It >
PSYNTH_FORCEINLINE void psynth::sound::detail::default_construct_aux ( It  first,
It  last,
boost::mpl::true_   
)

uninitialized_default_construct for planar iterators

template<typename It >
PSYNTH_FORCEINLINE void psynth::sound::detail::default_construct_aux ( It  first,
It  last,
boost::mpl::false_   
)

uninitialized_default_construct for interleaved iterators

template<typename It >
PSYNTH_FORCEINLINE void psynth::sound::detail::default_construct_range ( It  first,
It  last 
)
template<typename It >
PSYNTH_FORCEINLINE void psynth::sound::detail::default_construct_range_impl ( It  ,
It  ,
boost::mpl::false_   
)
template<typename It >
PSYNTH_FORCEINLINE void psynth::sound::detail::default_construct_range_impl ( It  first,
It  last,
boost::mpl::true_   
)
template<typename It >
PSYNTH_FORCEINLINE void psynth::sound::detail::destruct_aux ( It  first,
It  last,
boost::mpl::true_   
)

destruct for planar iterators

template<typename It >
PSYNTH_FORCEINLINE void psynth::sound::detail::destruct_aux ( It  first,
It  last,
boost::mpl::false_   
)

destruct for interleaved iterators

template<typename It >
PSYNTH_FORCEINLINE void psynth::sound::detail::destruct_range ( It  first,
It  last 
)
template<typename It >
PSYNTH_FORCEINLINE void psynth::sound::detail::destruct_range_impl ( It  ,
It  ,
boost::mpl::false_   
)
template<typename It >
PSYNTH_FORCEINLINE void psynth::sound::detail::destruct_range_impl ( It  first,
It  last,
boost::mpl::true_   
)
uint32_t psynth::sound::detail::div255 ( uint32_t  in) [inline]
uint32_t psynth::sound::detail::div32768 ( uint32_t  in) [inline]
template<class InputIter , class Size , class OutputIter >
std::pair<InputIter, OutputIter> psynth::sound::detail::do_copy_n ( InputIter  first,
Size  count,
OutputIter  result,
std::input_iterator_tag   
)

copy_n taken from SGI STL.

template<class RAIter , class Size , class OutputIter >
std::pair<RAIter, OutputIter> psynth::sound::detail::do_copy_n ( RAIter  first,
Size  count,
OutputIter  result,
std::random_access_iterator_tag   
) [inline]
template<class InputIter , class Size , class OutputIter >
std::pair<InputIter, OutputIter> psynth::sound::detail::do_copy_n ( InputIter  first,
Size  count,
OutputIter  result 
) [inline]
template<typename Element , typename Layout , int K>
element_reference_type< homogeneous_channel_base<Element,Layout,K> >::type psynth::sound::detail::dynamic_at_c ( homogeneous_channel_base< Element, Layout, K > &  cb,
std::size_t  i 
)
template<typename Element , typename Layout , int K>
element_reference_type< homogeneous_channel_base<Element&,Layout,K> >::type psynth::sound::detail::dynamic_at_c ( const homogeneous_channel_base< Element &, Layout, K > &  cb,
std::size_t  i 
)
template<typename Element , typename Layout , int K>
element_const_reference_type< homogeneous_channel_base<Element,Layout,K> >::type psynth::sound::detail::dynamic_at_c ( const homogeneous_channel_base< Element, Layout, K > &  cb,
std::size_t  i 
)
template<typename Element , typename Layout , int K>
element_const_reference_type< homogeneous_channel_base<const Element&,Layout,K> >::type psynth::sound::detail::dynamic_at_c ( const homogeneous_channel_base< const Element &, Layout, K > &  cb,
std::size_t  i 
)
template<typename It , typename P >
PSYNTH_FORCEINLINE void psynth::sound::detail::fill_aux ( It  first,
It  last,
const P &  p,
boost::mpl::false_   
)

std::fill for interleaved iterators

template<typename It , typename P >
PSYNTH_FORCEINLINE void psynth::sound::detail::fill_aux ( It  first,
It  last,
const P &  p,
boost::mpl::true_   
)

std::fill for planar iterators

template<typename T >
void psynth::sound::detail::initialize_it ( T &  x)
template<typename I >
dynamic_step_type<I>::type psynth::sound::detail::make_step_iterator_impl ( const I &  it,
std::ptrdiff_t  step,
boost::mpl::false_   
)
template<typename I >
dynamic_step_type<I>::type psynth::sound::detail::make_step_iterator_impl ( const I &  it,
std::ptrdiff_t  step,
boost::mpl::true_   
)
template<typename BaseIt >
memory_based_step_iterator<BaseIt> psynth::sound::detail::make_step_iterator_impl ( const memory_based_step_iterator< BaseIt > &  it,
std::ptrdiff_t  step,
boost::mpl::true_   
)
template<typename Q >
const Q& psynth::sound::detail::mutable_max ( const Q &  x,
const Q &  y 
) [inline]
template<typename Q >
Q& psynth::sound::detail::mutable_max ( Q &  x,
Q &  y 
) [inline]
template<typename Q >
const Q& psynth::sound::detail::mutable_min ( const Q &  x,
const Q &  y 
) [inline]
template<typename Q >
Q& psynth::sound::detail::mutable_min ( Q &  x,
Q &  y 
) [inline]
template<typename D , typename Iterator , typename SFn >
bool psynth::sound::detail::operator!= ( const step_iterator_adaptor< D, Iterator, SFn > &  p1,
const step_iterator_adaptor< D, Iterator, SFn > &  p2 
) [inline]
template<typename D , typename Iterator , typename SFn >
bool psynth::sound::detail::operator< ( const step_iterator_adaptor< D, Iterator, SFn > &  p1,
const step_iterator_adaptor< D, Iterator, SFn > &  p2 
) [inline]
template<typename D , typename Iterator , typename SFn >
bool psynth::sound::detail::operator<= ( const step_iterator_adaptor< D, Iterator, SFn > &  p1,
const step_iterator_adaptor< D, Iterator, SFn > &  p2 
) [inline]
template<typename D , typename Iterator , typename SFn >
bool psynth::sound::detail::operator== ( const step_iterator_adaptor< D, Iterator, SFn > &  p1,
const step_iterator_adaptor< D, Iterator, SFn > &  p2 
) [inline]
template<typename D , typename Iterator , typename SFn >
bool psynth::sound::detail::operator> ( const step_iterator_adaptor< D, Iterator, SFn > &  p1,
const step_iterator_adaptor< D, Iterator, SFn > &  p2 
) [inline]

although iterator_adaptor defines these, the default implementation computes distance and compares for zero.

it is often faster to just apply the relation operator to the base

template<typename D , typename Iterator , typename SFn >
bool psynth::sound::detail::operator>= ( const step_iterator_adaptor< D, Iterator, SFn > &  p1,
const step_iterator_adaptor< D, Iterator, SFn > &  p2 
) [inline]
template<class Frame >
std::ostream& psynth::sound::detail::output_frame ( std::ostream &  os,
const Frame &  f 
)
template<typename It1 , typename It2 >
PSYNTH_FORCEINLINE void psynth::sound::detail::uninitialized_copy_aux ( It1  first1,
It1  last1,
It2  first2,
boost::mpl::true_   
)

std::uninitialized_copy for pairs of planar iterators

template<typename It1 , typename It2 >
PSYNTH_FORCEINLINE void psynth::sound::detail::uninitialized_copy_aux ( It1  first1,
It1  last1,
It2  first2,
boost::mpl::false_   
)

std::uninitialized_copy for interleaved or mixed iterators

template<typename It , typename P >
PSYNTH_FORCEINLINE void psynth::sound::detail::uninitialized_fill_aux ( It  first,
It  last,
const P &  p,
boost::mpl::true_   
)

std::uninitialized_fill for planar iterators If an exception is thrown destructs any in-place copy-constructed objects

template<typename It , typename P >
PSYNTH_FORCEINLINE void psynth::sound::detail::uninitialized_fill_aux ( It  first,
It  last,
const P &  p,
boost::mpl::false_   
)

std::uninitialized_fill for interleaved iterators If an exception is thrown destructs any in-place copy-constructed objects