Ardour  8.7-15-gadf511264b
AudioGrapher::TypeUtils< T > Class Template Reference

Utilities for initializing, copying, moving, etc. data. More...

#include <type_utils.h>

Inheritance diagram for AudioGrapher::TypeUtils< T >:
[legend]

Static Public Member Functions

static void zero_fill (T *buffer, samplecnt_t samples)
 
static void copy (T const *source, T *destination, samplecnt_t samples)
 
static void move (T const *source, T *destination, samplecnt_t samples)
 

Private Types

typedef boost::integral_constant< bool, boost::is_floating_point< T >::value||boost::is_signed< T >::value > zero_fillable
 

Private Member Functions

 BOOST_STATIC_ASSERT (boost::has_trivial_destructor< T >::value)
 

Additional Inherited Members

- Static Private Member Functions inherited from AudioGrapher::TypeUtilsBase
template<typename T , bool b>
static void do_zero_fill (T *buffer, samplecnt_t samples, const boost::integral_constant< bool, b > &)
 
template<typename T >
static void do_zero_fill (T *buffer, samplecnt_t samples, const boost::true_type &)
 

Detailed Description

template<typename T = DefaultSampleType>
class AudioGrapher::TypeUtils< T >

Utilities for initializing, copying, moving, etc. data.

Definition at line 32 of file type_utils.h.

Member Typedef Documentation

◆ zero_fillable

template<typename T = DefaultSampleType>
typedef boost::integral_constant<bool, boost::is_floating_point<T>::value || boost::is_signed<T>::value> AudioGrapher::TypeUtils< T >::zero_fillable
private

Definition at line 38 of file type_utils.h.

Member Function Documentation

◆ BOOST_STATIC_ASSERT()

template<typename T = DefaultSampleType>
AudioGrapher::TypeUtils< T >::BOOST_STATIC_ASSERT ( boost::has_trivial_destructor< T >::value  )
private

◆ copy()

template<typename T = DefaultSampleType>
static void AudioGrapher::TypeUtils< T >::copy ( T const *  source,
T *  destination,
samplecnt_t  samples 
)
inlinestatic

Copies samples frames of data from source to destination The source and destination may NOT overlap.
RT safe

Definition at line 52 of file type_utils.h.

◆ move()

template<typename T = DefaultSampleType>
static void AudioGrapher::TypeUtils< T >::move ( T const *  source,
T *  destination,
samplecnt_t  samples 
)
inlinestatic

Moves samples frames of data from source to destination The source and destination may overlap in any way.
RT safe

Definition at line 59 of file type_utils.h.

◆ zero_fill()

template<typename T = DefaultSampleType>
static void AudioGrapher::TypeUtils< T >::zero_fill ( T *  buffer,
samplecnt_t  samples 
)
inlinestatic

Fill buffer with a zero value The value used for filling is either 0 or the value of T() if T is not a floating point or signed integer type
RT safe

Definition at line 45 of file type_utils.h.


The documentation for this class was generated from the following file: