libpsynth 0.2.1
Namespaces | Defines
/home/raskolnikov/dev/psynth/trunk/src/psynth/sound/typedefs.hpp File Reference

Time-stamp: <2011-03-21 20:49:06 raskolnikov> More...

#include <boost/cstdint.hpp>
#include <memory>
#include <psynth/base/compat.hpp>
#include <psynth/sound/mono.hpp>
#include <psynth/sound/stereo.hpp>
#include <psynth/sound/quad.hpp>
#include <psynth/sound/surround.hpp>
#include <psynth/sound/device_n.hpp>
Include dependency graph for typedefs.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  psynth
namespace  psynth::sound

Defines

#define PSYNTH_SOUND_DEFINE_BASE_TYPEDEFS_INTERNAL(T, CS, LAYOUT)
#define PSYNTH_SOUND_DEFINE_ALL_TYPEDEFS_INTERNAL(T, CS, CS_FULL, LAYOUT)
#define PSYNTH_SOUND_DEFINE_BASE_TYPEDEFS(T, CS)   PSYNTH_SOUND_DEFINE_BASE_TYPEDEFS_INTERNAL(T,CS,CS##_layout)
#define PSYNTH_SOUND_DEFINE_ALL_TYPEDEFS(T, CS)   PSYNTH_SOUND_DEFINE_ALL_TYPEDEFS_INTERNAL(T,CS,CS##_space,CS##_layout)

Detailed Description

Time-stamp: <2011-03-21 20:49:06 raskolnikov>

Author:
Juan Pedro Bolivar Puente <raskolnikov@es.gnu.org>
Date:
Tue Oct 19 13:04:44 2010

Useful typedefs.

Todo:
Add 24 bit integrals and 64 bit float types.

Define Documentation

#define PSYNTH_SOUND_DEFINE_ALL_TYPEDEFS (   T,
  CS 
)    PSYNTH_SOUND_DEFINE_ALL_TYPEDEFS_INTERNAL(T,CS,CS##_space,CS##_layout)
#define PSYNTH_SOUND_DEFINE_ALL_TYPEDEFS_INTERNAL (   T,
  CS,
  CS_FULL,
  LAYOUT 
)
Value:
PSYNTH_SOUND_DEFINE_BASE_TYPEDEFS_INTERNAL(T,CS,LAYOUT)         \
    typedef planar_frame_reference<bits##T&,CS_FULL >                   \
    CS##T##_planar_ref;                                                 \
    typedef planar_frame_reference<const bits##T&,CS_FULL >             \
    CS##T##c_planar_ref;                                                \
    typedef planar_frame_iterator<bits##T*,CS_FULL >                    \
    CS##T##_planar_ptr;                                                 \
    typedef planar_frame_iterator<const bits##T*,CS_FULL >              \
    CS##T##c_planar_ptr;                                                \
    typedef memory_based_step_iterator<CS##T##_planar_ptr>              \
    CS##T##_planar_step_ptr;                                            \
    typedef memory_based_step_iterator<CS##T##c_planar_ptr>             \
    CS##T##c_planar_step_ptr;                                           \
    typedef buffer_range<CS##T##_planar_ptr>                            \
    CS##T##_planar_range;                                               \
    typedef buffer_range<CS##T##c_planar_ptr>                           \
    CS##T##c_planar_range;                                              \
    typedef buffer_range<CS##T##_planar_step_ptr>                       \
    CS##T##_planar_step_range;                                          \
    typedef buffer_range<CS##T##c_planar_step_ptr>                      \
    CS##T##c_planar_step_range;                                         \
    typedef buffer<CS##T##_frame,true,std::allocator<unsigned char> >   \
    CS##T##_planar_buffer;                                              \
    typedef ring_buffer_range<CS##T##_planar_range> CS##T##_planar_ring_range; \
    typedef ring_buffer_range<CS##T##c_planar_range> CS##T##c_planar_ring_range; \
    typedef ring_buffer<CS##T##_planar_buffer> CS##T##_planar_ring_buffer;
#define PSYNTH_SOUND_DEFINE_BASE_TYPEDEFS (   T,
  CS 
)    PSYNTH_SOUND_DEFINE_BASE_TYPEDEFS_INTERNAL(T,CS,CS##_layout)
#define PSYNTH_SOUND_DEFINE_BASE_TYPEDEFS_INTERNAL (   T,
  CS,
  LAYOUT 
)
Value:
template <typename, typename>    struct frame;                  \
    template <typename, typename>    struct planar_frame_reference;     \
    template <typename, typename>    struct planar_frame_iterator;      \
    template <typename>              class memory_based_step_iterator;  \
    template <typename>              class buffer_range;                \
    template <typename, bool, typename>     class buffer;               \
    template <typename>              class ring_buffer_range;           \
    template <typename>              class ring_buffer;                 \
    typedef frame<bits##T, LAYOUT >         CS##T##_frame;              \
    typedef const frame<bits##T, LAYOUT >   CS##T##c_frame;             \
    typedef frame<bits##T, LAYOUT >&        CS##T##_ref;                \
    typedef const frame<bits##T, LAYOUT >&  CS##T##c_ref;               \
    typedef CS##T##_frame*                CS##T##_ptr;          \
    typedef CS##T##c_frame*               CS##T##c_ptr;         \
    typedef memory_based_step_iterator<CS##T##_ptr>                     \
    CS##T##_step_ptr;                                                   \
    typedef memory_based_step_iterator<CS##T##c_ptr>                    \
    CS##T##c_step_ptr;                                                  \
    typedef buffer_range<CS##T##_ptr>            CS##T##_range;         \
    typedef buffer_range<CS##T##c_ptr>           CS##T##c_range;        \
    typedef buffer_range<CS##T##_step_ptr>       CS##T##_step_range;    \
    typedef buffer_range<CS##T##c_step_ptr>      CS##T##c_step_range;   \
    typedef buffer<CS##T##_frame,false,std::allocator<unsigned char> >  \
    CS##T##_buffer;                                                     \
    typedef ring_buffer_range<CS##T##_range> CS##T##_ring_range;        \
    typedef ring_buffer_range<CS##T##c_range> CS##T##c_ring_range;      \
    typedef ring_buffer<CS##T##_buffer> CS##T##_ring_buffer;