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

Time-stamp: <2011-03-17 19:12:41 raskolnikov> More...

#include <cassert>
#include <cstddef>
#include <psynth/base/compat.hpp>
#include <psynth/sound/metafunctions.hpp>
#include <psynth/sound/mono.hpp>
#include <psynth/sound/channel_convert.hpp>
Include dependency graph for buffer_range_factory.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::sample_pointer_type_impl< Range, true >
struct  psynth::sound::detail::sample_pointer_type_impl< Range, false >
struct  psynth::sound::detail::sample_pointer_type< Range >
class  psynth::sound::channel_convert_deref_fn< SrcConstRefP, DstP, CC >
struct  psynth::sound::detail::channel_converted_range_type_impl< SrcRange, CC, DstP, SrcP >
struct  psynth::sound::detail::channel_converted_range_type_impl< SrcRange, CC, DstP, DstP >
struct  psynth::sound::channel_converted_range_type< SrcRange, DstP, CC >
 Returns the type of a range that does channel conversion upon dereferencing its frames. More...
struct  psynth::sound::detail::nth_sample_range_basic_impl< Range, false >
 nth_sample_range when the samples are not adjacent in memory. More...
struct  psynth::sound::detail::nth_sample_range_basic_impl< Range, true >
struct  psynth::sound::detail::nth_sample_range_impl< Range, true >
struct  psynth::sound::detail::nth_sample_deref_fn< SrcP >
 Function object that returns a grayscale reference of the N-th sample of a given reference. More...
struct  psynth::sound::detail::nth_sample_range_impl< Range, false >
struct  psynth::sound::nth_sample_range_type< Range >
 Given a source buffer range type Range, returns the type of an buffer range over a single sample of RangeIf the samples in the source range are adjacent in memory (such as planar non-step range or single-sample range) then the return range is a single-sample non-step range. More...
struct  psynth::sound::detail::kth_sample_range_basic_impl< K, Range, false >
struct  psynth::sound::detail::kth_sample_range_basic_impl< K, Range, true >
struct  psynth::sound::detail::kth_sample_range_impl< K, Range, true >
struct  psynth::sound::detail::kth_sample_deref_fn< K, SrcP >
 Function object that returns a grayscale reference of the K-th sample (specified as a template parameter) of a given reference. More...
struct  psynth::sound::detail::kth_sample_range_impl< K, Range, false >
struct  psynth::sound::kth_sample_range_type< K, Range >
 Given a source buffer range type Range, returns the type of an buffer range over a given sample of Range. More...

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 Iterator >
type_from_iterator< Iterator >
::range 
psynth::sound::interleaved_range (std::size_t size, Iterator frames)
 Constructing buffer ranges from raw interleaved frame data.
template<typename HomogeneousRange >
detail::sample_pointer_type
< HomogeneousRange >::type 
psynth::sound::interleaved_range_get_raw_data (const HomogeneousRange &range)
 Returns C pointer to the the samples of an interleaved homogeneous range.
template<typename HomogeneousRange >
detail::sample_pointer_type
< HomogeneousRange >::type 
psynth::sound::planar_range_get_raw_data (const HomogeneousRange &range, int plane_index)
 Returns C pointer to the the samples of a given channel plane of a planar homogeneous range.
template<typename DstP , typename Range , typename CC >
channel_converted_range_type
< Range, DstP, CC >::type 
psynth::sound::channel_converted_range (const Range &src, CC cc)
 range of a different channel space with a user defined channel-converter
template<typename DstP , typename Range >
channel_converted_range_type
< Range, DstP >::type 
psynth::sound::channel_converted_range (const Range &src)
 overload of generic channel_converted_range with the default channel-converter
template<typename Range >
dynamic_step_type< Range >::type psynth::sound::flipped_range (const Range &src)
template<typename Range >
buffer_range_type< Range >::type psynth::sound::sub_range (const Range &src, size_t start, size_t size)
template<typename Range >
dynamic_step_type< Range >::type psynth::sound::sub_sampled_range (const Range &src, typename Range::size_type step)
template<typename Range >
nth_sample_range_type< Range >
::type 
psynth::sound::nth_sample_range (const Range &src, int n)
template<int K, typename Range >
kth_sample_range_type< K,
Range >::type 
psynth::sound::kth_sample_range (const Range &src)

Detailed Description

Time-stamp: <2011-03-17 19:12:41 raskolnikov>

Author:
Juan Pedro Bolivar Puente <raskolnikov@es.gnu.org>
Date:
Fri Oct 29 11:55:36 2010

Range factories. Methods for creating shallow image ranges from raw pixel data or from other image ranges - flipping horizontally or vertically, axis-aligned rotation, a subimage, sub_sampled or n-th channel image range. Derived image ranges are shallow copies and are fast to construct.