vspline 1.1.0
Generic C++11 Code for Uniform B-Splines
Public Types | List of all members
vspline::vector_traits< T, _vsize, Enable > Struct Template Reference

with the definition of 'simd_traits', we can proceed to implement 'vector_traits': struct vector_traits is a traits class fixing the types used for vectorized code in vspline. These types go beyond mere vectors of fundamentals: most of the time, the data vspline has to process are not fundamentals, but what I call 'xel' data: pixels, voxels, stereo sound samples, etc. - so, small aggregates of a fundamental type. vector_traits defines how fundamentals and 'xel' data are to be vectorized. with the types defined by vector_traits, a system of type names is introduced which uses a set of patterns: More...

#include <vector.h>

Public Types

enum  { dimension = 1 }
 
enum  { size }
 
enum  { vsize = size }
 
enum  { hsize = simd_traits < ele_type > :: hsize }
 
typedef T ele_type
 
typedef vigra::TinyVector< ele_type, 1 > nd_ele_type
 
template<typename U , size_t sz>
using vector = typename simd_traits< U > ::template type< sz >
 
typedef vector< ele_type, vsizeele_v
 
typedef vigra::TinyVector< ele_v, 1 > nd_ele_v
 
typedef ele_v type
 

Detailed Description

template<typename T, size_t _vsize = 0, typename Enable = void>
struct vspline::vector_traits< T, _vsize, Enable >

with the definition of 'simd_traits', we can proceed to implement 'vector_traits': struct vector_traits is a traits class fixing the types used for vectorized code in vspline. These types go beyond mere vectors of fundamentals: most of the time, the data vspline has to process are not fundamentals, but what I call 'xel' data: pixels, voxels, stereo sound samples, etc. - so, small aggregates of a fundamental type. vector_traits defines how fundamentals and 'xel' data are to be vectorized. with the types defined by vector_traits, a system of type names is introduced which uses a set of patterns:

Definition at line 343 of file vector.h.

Member Typedef Documentation

◆ ele_type

template<typename T , size_t _vsize = 0, typename Enable = void>
typedef T vspline::vector_traits< T, _vsize, Enable >::ele_type

Definition at line 347 of file vector.h.

◆ ele_v

template<typename T , size_t _vsize = 0, typename Enable = void>
typedef vector< ele_type , vsize > vspline::vector_traits< T, _vsize, Enable >::ele_v

Definition at line 364 of file vector.h.

◆ nd_ele_type

template<typename T , size_t _vsize = 0, typename Enable = void>
typedef vigra::TinyVector< ele_type , 1 > vspline::vector_traits< T, _vsize, Enable >::nd_ele_type

Definition at line 358 of file vector.h.

◆ nd_ele_v

template<typename T , size_t _vsize = 0, typename Enable = void>
typedef vigra::TinyVector< ele_v , 1 > vspline::vector_traits< T, _vsize, Enable >::nd_ele_v

Definition at line 367 of file vector.h.

◆ type

template<typename T , size_t _vsize = 0, typename Enable = void>
typedef ele_v vspline::vector_traits< T, _vsize, Enable >::type

Definition at line 370 of file vector.h.

◆ vector

template<typename T , size_t _vsize = 0, typename Enable = void>
template<typename U , size_t sz>
using vspline::vector_traits< T, _vsize, Enable >::vector = typename simd_traits < U > :: template type < sz >

Definition at line 362 of file vector.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename T , size_t _vsize = 0, typename Enable = void>
anonymous enum
Enumerator
dimension 

Definition at line 346 of file vector.h.

◆ anonymous enum

template<typename T , size_t _vsize = 0, typename Enable = void>
anonymous enum
Enumerator
size 

Definition at line 350 of file vector.h.

◆ anonymous enum

template<typename T , size_t _vsize = 0, typename Enable = void>
anonymous enum
Enumerator
vsize 

Definition at line 354 of file vector.h.

◆ anonymous enum

template<typename T , size_t _vsize = 0, typename Enable = void>
anonymous enum
Enumerator
hsize 

Definition at line 355 of file vector.h.


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