vspline 1.1.0
Generic C++11 Code for Uniform B-Splines
Public Types | Public Member Functions | List of all members
vspline::broadcast_type< I, O, S > Struct Template Reference

#include <unary_functor.h>

Inheritance diagram for vspline::broadcast_type< I, O, S >:
vspline::broadcast< broadcast_type< I, I, vspline::vector_traits< I > ::size >, I, I, vspline::vector_traits< I > ::size > vspline::unary_functor< I, I, _vsize > vspline::unary_functor_tag< _vsize >

Public Types

typedef std::function< void(const I &, O &) > eval_type
 
typedef std::function< O(const I &) > call_type
 
- Public Types inherited from vspline::broadcast< broadcast_type< I, I, vspline::vector_traits< I > ::size >, I, I, vspline::vector_traits< I > ::size >
typedef vspline::unary_functor< I, I, _vsize > base_type
 
typedef I in_type
 
typedef I out_type
 
typedef vspline::vector_traits< I >::ele_type in_ele_type
 
typedef vspline::vector_traits< I >::ele_type out_ele_type
 
typedef vigra::TinyVector< in_ele_type, dim_inin_nd_ele_type
 
typedef vigra::TinyVector< out_ele_type, dim_outout_nd_ele_type
 
typedef vector_traits< I, vsize >::type in_v
 vectorized in_type and out_type. vspline::vector_traits supplies these types so that multidimensional/multichannel data come as vigra::TinyVectors, while 'singular' data won't be made into TinyVectors of one element. More...
 
typedef vector_traits< I, vsize >::type out_v
 
typedef vector_traits< I, vsize >::ele_v in_ele_v
 a simdized type of the elementary type of result_type, which is used for coefficients and results. this is fixed via the traits class vector_traits (in vector.h). Note how we derive this type using vsize from the template argument, not what vspline::vector_traits deems appropriate for ele_type - though both numbers will be the same in most cases. More...
 
typedef vector_traits< I, vsize >::ele_v out_ele_v
 
typedef vector_traits< I, vsize >::nd_ele_v in_nd_ele_v
 
typedef vector_traits< I, vsize >::nd_ele_v out_nd_ele_v
 
- Public Types inherited from vspline::unary_functor< I, I, _vsize >
enum  
 
enum  
 
enum  
 
typedef I in_type
 
typedef I out_type
 
typedef vspline::vector_traits< I >::ele_type in_ele_type
 
typedef vspline::vector_traits< I >::ele_type out_ele_type
 
typedef vigra::TinyVector< in_ele_type, dim_inin_nd_ele_type
 
typedef vigra::TinyVector< out_ele_type, dim_outout_nd_ele_type
 
typedef vector_traits< I, vsize >::ele_v in_ele_v
 a simdized type of the elementary type of result_type, which is used for coefficients and results. this is fixed via the traits class vector_traits (in vector.h). Note how we derive this type using vsize from the template argument, not what vspline::vector_traits deems appropriate for ele_type - though both numbers will be the same in most cases. More...
 
typedef vector_traits< I, vsize >::ele_v out_ele_v
 
typedef vector_traits< I, vsize >::nd_ele_v in_nd_ele_v
 
typedef vector_traits< I, vsize >::nd_ele_v out_nd_ele_v
 
typedef vector_traits< I, vsize >::type in_v
 vectorized in_type and out_type. vspline::vector_traits supplies these types so that multidimensional/multichannel data come as vigra::TinyVectors, while 'singular' data won't be made into TinyVectors of one element. More...
 
typedef vector_traits< I, vsize >::type out_v
 
typedef vector_traits< int, vsize >::ele_v ic_v
 vsize wide vector of ints, used for gather/scatter indexes More...
 

Public Member Functions

 broadcast_type (const call_type &_f)
 
 broadcast_type (const eval_type &_ev)
 
void eval (const I &in, O &out) const
 
template<typename = std::enable_if < ( vsize > 1 ) >>
void eval (const in_v &inv, out_v &outv) const
 
- Public Member Functions inherited from vspline::broadcast< broadcast_type< I, I, vspline::vector_traits< I > ::size >, I, I, vspline::vector_traits< I > ::size >
void eval (const in_v &inv, out_v &outv) const
 

Additional Inherited Members

- Static Public Attributes inherited from vspline::unary_functor< I, I, _vsize >
static const bool has_capped_eval
 

Detailed Description

template<typename I, typename O = I, std::size_t S = vspline::vector_traits < I > :: size>
struct vspline::broadcast_type< I, O, S >

Definition at line 462 of file unary_functor.h.

Member Typedef Documentation

◆ call_type

template<typename I , typename O = I, std::size_t S = vspline::vector_traits < I > :: size>
typedef std::function< O ( const I & ) > vspline::broadcast_type< I, O, S >::call_type

Definition at line 466 of file unary_functor.h.

◆ eval_type

template<typename I , typename O = I, std::size_t S = vspline::vector_traits < I > :: size>
typedef std::function< void ( const I & , O & ) > vspline::broadcast_type< I, O, S >::eval_type

Definition at line 465 of file unary_functor.h.

Constructor & Destructor Documentation

◆ broadcast_type() [1/2]

template<typename I , typename O = I, std::size_t S = vspline::vector_traits < I > :: size>
vspline::broadcast_type< I, O, S >::broadcast_type ( const call_type _f)
inline

Definition at line 480 of file unary_functor.h.

◆ broadcast_type() [2/2]

template<typename I , typename O = I, std::size_t S = vspline::vector_traits < I > :: size>
vspline::broadcast_type< I, O, S >::broadcast_type ( const eval_type _ev)
inline

Definition at line 484 of file unary_functor.h.

Member Function Documentation

◆ eval() [1/2]

template<typename I , typename O = I, std::size_t S = vspline::vector_traits < I > :: size>
void vspline::broadcast_type< I, O, S >::eval ( const I &  in,
O &  out 
) const
inline

Definition at line 490 of file unary_functor.h.

◆ eval() [2/2]

template<typename I , typename O = I, std::size_t S = vspline::vector_traits < I > :: size>
template<typename = std::enable_if < ( vsize > 1 ) >>
void vspline::broadcast< derived_type, IN, OUT, _vsize >::eval ( const in_v inv,
out_v outv 
) const
inline

Definition at line 396 of file unary_functor.h.


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