vspline 1.1.0
Generic C++11 Code for Uniform B-Splines
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
vspline::buffer_handling< _vtype, _dtype, _vsize > Class Template Reference

buffer_handling provides services needed for interfacing with a buffer of simdized/goading data. The init() routine receives two views: one to a buffer accepting incoming data, and one to a buffer providing results. Currently, all filters used in vspline operate in-place, but the two-argument form leaves room to manoevre. get() and put() receive 'bundle' arguments which are used to transfer incoming data to the view defined in in_window, and to transfer result data from the view defined in out_window back to target memory. More...

#include <filter.h>

Public Member Functions

template<class tractor >
void get (const tractor &src, std::ptrdiff_t offset=0, int ni=vsize) const
 fetch data from 'source' into the buffer 'in_window' More...
 
template<class tractor >
void put (const tractor &trg, std::ptrdiff_t offset=0, int ni=vsize) const
 deposit result data from 'out_window' into target memory More...
 

Protected Types

enum  { vsize = _vsize }
 
typedef _dtype dtype
 
typedef _vtype< dtype, vsizevtype
 

Protected Member Functions

void init (vigra::MultiArrayView< 1, vtype > &_in_window, vigra::MultiArrayView< 1, vtype > &_out_window)
 

Protected Attributes

vigra::MultiArrayView< 1, vtypein_window
 
vigra::MultiArrayView< 1, vtypeout_window
 

Static Protected Attributes

static const std::ptrdiff_t bf_stride = sizeof(vtype) / sizeof(dtype)
 

Detailed Description

template<template< typename, size_t > class _vtype, typename _dtype, size_t _vsize>
class vspline::buffer_handling< _vtype, _dtype, _vsize >

buffer_handling provides services needed for interfacing with a buffer of simdized/goading data. The init() routine receives two views: one to a buffer accepting incoming data, and one to a buffer providing results. Currently, all filters used in vspline operate in-place, but the two-argument form leaves room to manoevre. get() and put() receive 'bundle' arguments which are used to transfer incoming data to the view defined in in_window, and to transfer result data from the view defined in out_window back to target memory.

Definition at line 226 of file filter.h.

Member Typedef Documentation

◆ dtype

template<template< typename, size_t > class _vtype, typename _dtype , size_t _vsize>
typedef _dtype vspline::buffer_handling< _vtype, _dtype, _vsize >::dtype
protected

Definition at line 231 of file filter.h.

◆ vtype

template<template< typename, size_t > class _vtype, typename _dtype , size_t _vsize>
typedef _vtype< dtype , vsize > vspline::buffer_handling< _vtype, _dtype, _vsize >::vtype
protected

Definition at line 232 of file filter.h.

Member Enumeration Documentation

◆ anonymous enum

template<template< typename, size_t > class _vtype, typename _dtype , size_t _vsize>
anonymous enum
protected
Enumerator
vsize 

Definition at line 230 of file filter.h.

Member Function Documentation

◆ get()

template<template< typename, size_t > class _vtype, typename _dtype , size_t _vsize>
template<class tractor >
void vspline::buffer_handling< _vtype, _dtype, _vsize >::get ( const tractor &  src,
std::ptrdiff_t  offset = 0,
int  ni = vsize 
) const
inline

fetch data from 'source' into the buffer 'in_window'

Definition at line 268 of file filter.h.

◆ init()

template<template< typename, size_t > class _vtype, typename _dtype , size_t _vsize>
void vspline::buffer_handling< _vtype, _dtype, _vsize >::init ( vigra::MultiArrayView< 1, vtype > &  _in_window,
vigra::MultiArrayView< 1, vtype > &  _out_window 
)
inlineprotected

Definition at line 237 of file filter.h.

◆ put()

template<template< typename, size_t > class _vtype, typename _dtype , size_t _vsize>
template<class tractor >
void vspline::buffer_handling< _vtype, _dtype, _vsize >::put ( const tractor &  trg,
std::ptrdiff_t  offset = 0,
int  ni = vsize 
) const
inline

deposit result data from 'out_window' into target memory

Definition at line 291 of file filter.h.

Member Data Documentation

◆ bf_stride

template<template< typename, size_t > class _vtype, typename _dtype , size_t _vsize>
const std::ptrdiff_t vspline::buffer_handling< _vtype, _dtype, _vsize >::bf_stride = sizeof(vtype) / sizeof(dtype)
staticprotected

Definition at line 261 of file filter.h.

◆ in_window

template<template< typename, size_t > class _vtype, typename _dtype , size_t _vsize>
vigra::MultiArrayView< 1 , vtype > vspline::buffer_handling< _vtype, _dtype, _vsize >::in_window
protected

Definition at line 234 of file filter.h.

◆ out_window

template<template< typename, size_t > class _vtype, typename _dtype , size_t _vsize>
vigra::MultiArrayView< 1 , vtype > vspline::buffer_handling< _vtype, _dtype, _vsize >::out_window
protected

Definition at line 235 of file filter.h.


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