vspline 1.1.0
Generic C++11 Code for Uniform B-Splines
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
wielding::indexed_aggregator< vsz, ic_type, functor_type, typename > Struct Template Reference

indexed_aggregator receives the start coordinate and processing axis along with the data to process, this is meant for index-transforms. The coordinate is updated for every call to the 'inner' functor so that the inner functor has the current coordinate as input. The code in this template will only be used for vectorized operation, without vectorization, only the specialization for vsize == 1 below is used. More...

#include <wielding.h>

Public Types

enum  { dim_in = functor_type::dim_in }
 
enum  { dim_out = functor_type::dim_out }
 
typedef functor_type::in_type in_type
 
typedef functor_type::in_ele_type in_ele_type
 
typedef functor_type::in_v in_v
 
typedef functor_type::in_ele_v in_ele_v
 
typedef functor_type::out_type out_type
 
typedef functor_type::out_ele_type out_ele_type
 
typedef functor_type::out_v out_v
 
typedef functor_type::out_ele_v out_ele_v
 

Public Member Functions

 indexed_aggregator (const functor_type &_functor)
 
void operator() (in_type crd, int axis, out_type *trg, ic_type stride, ic_type length)
 

Static Public Member Functions

static bool is_n_hsize ()
 

Public Attributes

const functor_type functor
 

Detailed Description

template<size_t vsz, typename ic_type, class functor_type, typename = std::enable_if < ( vsz > 1 ) >>
struct wielding::indexed_aggregator< vsz, ic_type, functor_type, typename >

indexed_aggregator receives the start coordinate and processing axis along with the data to process, this is meant for index-transforms. The coordinate is updated for every call to the 'inner' functor so that the inner functor has the current coordinate as input. The code in this template will only be used for vectorized operation, without vectorization, only the specialization for vsize == 1 below is used.

Definition at line 174 of file wielding.h.

Member Typedef Documentation

◆ in_ele_type

template<size_t vsz, typename ic_type , class functor_type , typename = std::enable_if < ( vsz > 1 ) >>
typedef functor_type::in_ele_type wielding::indexed_aggregator< vsz, ic_type, functor_type, typename >::in_ele_type

Definition at line 179 of file wielding.h.

◆ in_ele_v

template<size_t vsz, typename ic_type , class functor_type , typename = std::enable_if < ( vsz > 1 ) >>
typedef functor_type::in_ele_v wielding::indexed_aggregator< vsz, ic_type, functor_type, typename >::in_ele_v

Definition at line 181 of file wielding.h.

◆ in_type

template<size_t vsz, typename ic_type , class functor_type , typename = std::enable_if < ( vsz > 1 ) >>
typedef functor_type::in_type wielding::indexed_aggregator< vsz, ic_type, functor_type, typename >::in_type

Definition at line 178 of file wielding.h.

◆ in_v

template<size_t vsz, typename ic_type , class functor_type , typename = std::enable_if < ( vsz > 1 ) >>
typedef functor_type::in_v wielding::indexed_aggregator< vsz, ic_type, functor_type, typename >::in_v

Definition at line 180 of file wielding.h.

◆ out_ele_type

template<size_t vsz, typename ic_type , class functor_type , typename = std::enable_if < ( vsz > 1 ) >>
typedef functor_type::out_ele_type wielding::indexed_aggregator< vsz, ic_type, functor_type, typename >::out_ele_type

Definition at line 184 of file wielding.h.

◆ out_ele_v

template<size_t vsz, typename ic_type , class functor_type , typename = std::enable_if < ( vsz > 1 ) >>
typedef functor_type::out_ele_v wielding::indexed_aggregator< vsz, ic_type, functor_type, typename >::out_ele_v

Definition at line 186 of file wielding.h.

◆ out_type

template<size_t vsz, typename ic_type , class functor_type , typename = std::enable_if < ( vsz > 1 ) >>
typedef functor_type::out_type wielding::indexed_aggregator< vsz, ic_type, functor_type, typename >::out_type

Definition at line 183 of file wielding.h.

◆ out_v

template<size_t vsz, typename ic_type , class functor_type , typename = std::enable_if < ( vsz > 1 ) >>
typedef functor_type::out_v wielding::indexed_aggregator< vsz, ic_type, functor_type, typename >::out_v

Definition at line 185 of file wielding.h.

Member Enumeration Documentation

◆ anonymous enum

template<size_t vsz, typename ic_type , class functor_type , typename = std::enable_if < ( vsz > 1 ) >>
anonymous enum
Enumerator
dim_in 

Definition at line 188 of file wielding.h.

◆ anonymous enum

template<size_t vsz, typename ic_type , class functor_type , typename = std::enable_if < ( vsz > 1 ) >>
anonymous enum
Enumerator
dim_out 

Definition at line 189 of file wielding.h.

Constructor & Destructor Documentation

◆ indexed_aggregator()

template<size_t vsz, typename ic_type , class functor_type , typename = std::enable_if < ( vsz > 1 ) >>
wielding::indexed_aggregator< vsz, ic_type, functor_type, typename >::indexed_aggregator ( const functor_type &  _functor)
inline

Definition at line 198 of file wielding.h.

Member Function Documentation

◆ is_n_hsize()

template<size_t vsz, typename ic_type , class functor_type , typename = std::enable_if < ( vsz > 1 ) >>
static bool wielding::indexed_aggregator< vsz, ic_type, functor_type, typename >::is_n_hsize ( )
inlinestatic

Definition at line 209 of file wielding.h.

◆ operator()()

template<size_t vsz, typename ic_type , class functor_type , typename = std::enable_if < ( vsz > 1 ) >>
void wielding::indexed_aggregator< vsz, ic_type, functor_type, typename >::operator() ( in_type  crd,
int  axis,
out_type trg,
ic_type  stride,
ic_type  length 
)
inline

Definition at line 224 of file wielding.h.

Member Data Documentation

◆ functor

template<size_t vsz, typename ic_type , class functor_type , typename = std::enable_if < ( vsz > 1 ) >>
const functor_type wielding::indexed_aggregator< vsz, ic_type, functor_type, typename >::functor

Definition at line 196 of file wielding.h.


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