libpsynth 0.2.1
Classes | Namespaces | Functions
/home/raskolnikov/dev/psynth/trunk/src/psynth/sound/channel_base.hpp File Reference

Time-stamp: <2010-11-07 16:00:59 raskolnikov> More...

#include <cassert>
#include <type_traits>
#include <boost/mpl/range_c.hpp>
#include <boost/mpl/size.hpp>
#include <boost/mpl/vector_c.hpp>
#include <boost/utility/enable_if.hpp>
#include <psynth/base/compat.hpp>
#include <psynth/sound/util.hpp>
#include <psynth/sound/concept.hpp>
Include dependency graph for channel_base.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  psynth::sound::kth_element_type< const ChannelBase, K >
struct  psynth::sound::kth_element_reference_type< const ChannelBase, K >
struct  psynth::sound::kth_element_const_reference_type< const ChannelBase, K >
struct  psynth::sound::detail::mapping_transform< DstLayout, SrcLayout, K >
struct  psynth::sound::detail::homogeneous_channel_base< Element, Layout, 1 >
 A homogeneous channel base holding one channel element. More...
struct  psynth::sound::detail::homogeneous_channel_base< Element, Layout, 2 >
 A homogeneous channel base holding two channel elements. More...
struct  psynth::sound::detail::homogeneous_channel_base< Element, Layout, 3 >
 A homogeneous channel base holding three channel elements. More...
struct  psynth::sound::detail::homogeneous_channel_base< Element, Layout, 4 >
 A homogeneous channel base holding four channel elements. More...
struct  psynth::sound::detail::homogeneous_channel_base< Element, Layout, 5 >
 A homogeneous channel base holding five channel elements. More...
struct  psynth::sound::kth_element_type< detail::homogeneous_channel_base< Element, Layout, K1 >, K >
struct  psynth::sound::kth_element_reference_type< detail::homogeneous_channel_base< Element, Layout, K1 >, K >
struct  psynth::sound::kth_element_const_reference_type< detail::homogeneous_channel_base< Element, Layout, K1 >, K >
struct  psynth::sound::detail::swap_fn

Namespaces

namespace  psynth
namespace  psynth::sound
namespace  psynth::sound::detail
 

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


Functions

template<typename P >
P * psynth::sound::memunit_advanced (const P *p, std::ptrdiff_t diff)
template<int K, typename ChannelBase >
boost::disable_if
< boost::is_const< ChannelBase >
, typename
kth_semantic_element_reference_type
< ChannelBase, K >::type >
::type 
psynth::sound::semantic_at_c (ChannelBase &p)
 A mutable accessor to the K-th semantic element of a channel base.
template<int K, typename ChannelBase >
kth_semantic_element_const_reference_type
< ChannelBase, K >::type 
psynth::sound::semantic_at_c (const ChannelBase &p)
 A constant accessor to the K-th semantic element of a channel base.
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_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_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<int K, typename E , typename L , int N>
boost::add_reference< E >::type psynth::sound::at_c (detail::homogeneous_channel_base< E, L, N > &p)
 Provides mutable access to the K-th element, in physical order.
template<int K, typename E , typename L , int N>
boost::add_reference< typename
boost::add_const< E >::type >
::type 
psynth::sound::at_c (const detail::homogeneous_channel_base< E, L, N > &p)
 TODO: Check why this results into ambiguous.
template<typename E , typename L , int N>
void psynth::sound::swap (detail::homogeneous_channel_base< E, L, N > &x, detail::homogeneous_channel_base< E, L, N > &y)

Detailed Description

Time-stamp: <2010-11-07 16:00:59 raskolnikov>

Author:
Juan Pedro Bolivar Puente <raskolnikov@es.gnu.org>
Date:
Mon Nov 1 18:39:33 2010

Frame class and related utilities.

Todo:
Reimplement with C++0x variadic templates?