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

Time-stamp: <2010-11-03 19:20:57 raskolnikov> More...

#include <psynth/base/compat.hpp>
#include <psynth/sound/util.hpp>
#include <cstddef>
#include <cassert>
#include <algorithm>
#include <typeinfo>
#include <boost/bind.hpp>
#include <boost/mpl/transform.hpp>
#include <boost/mpl/size.hpp>
#include <boost/mpl/sizeof.hpp>
#include <boost/mpl/max.hpp>
#include <boost/mpl/at.hpp>
#include <boost/mpl/fold.hpp>
Include dependency graph for variant.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  psynth::sound::detail::destructor_op
class  psynth::sound::variant< Types >
 Represents a concrete instance of a run-time specified type from a set of types. More...
struct  psynth::sound::variant< Types >::base_t
struct  psynth::sound::detail::copy_construct_in_place_fn< Bits >
struct  psynth::sound::detail::equal_to_fn< Bits >

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 T , typename Bits >
void psynth::sound::detail::copy_construct_in_place (const T &t, Bits &bits)
template<typename Types >
void psynth::sound::swap (variant< Types > &x, variant< Types > &y)
template<typename Types >
bool psynth::sound::operator== (const variant< Types > &x, const variant< Types > &y)
template<typename C >
bool psynth::sound::operator!= (const variant< C > &x, const variant< C > &y)

Detailed Description

Time-stamp: <2010-11-03 19:20:57 raskolnikov>

Author:
Juan Pedro Bolivar Puente <raskolnikov@es.gnu.org>
Date:
Wed Nov 3 18:55:38 2010

A variant implementation, support for run-time instantiated types.

Todo:

Modify dynamic_image to use boost::variant instead?

Move to psynth::base?