CoDiPack  3.0.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::PointerStore< Chunk3< T_Data1, T_Data2, T_Data3 > > Struct Template Reference

Pointer store for Chunk3 data. More...

#include <pointerStore.hpp>

Inheritance diagram for codi::PointerStore< Chunk3< T_Data1, T_Data2, T_Data3 > >:

Public Types

using Chunk = Chunk3<Data1, Data2, Data3>
 Template specialization type.
 
using ChunkData
 See PointerStore.
 
using Data1 = T_Data1
 Data entry 1.
 
using Data2 = T_Data2
 Data entry 2.
 
using Data3 = T_Data3
 Data entry 3.
 

Public Member Functions

void call (FuncObj &func, Args &&... args)
 Calls func(pointers, args...);.
 
template<typename FuncObj, typename... Args>
void call (FuncObj &func, Args &&... args)
 Calls func(pointers, args...);.
 
void callAndAppend (FuncObj &func, Args &&... args)
 Calls func(args..., pointers);.
 
template<typename FuncObj, typename... Args>
void callAndAppend (FuncObj &func, Args &&... args)
 Calls func(args..., pointers);.
 
inlinevoid callNestedForward (Nested *nested, size_t &start, size_t const &end, Args &&... args)
 Calls nested->template evaluateForward<selectedDepth>(args..., start, end, pointers);.
 
template<int selectedDepth, typename Nested, typename... Args>
inlinevoid callNestedForward (Nested *nested, size_t &start, size_t const &end, Args &&... args)
 Calls nested->template evaluateForward<selectedDepth>(args..., start, end, pointers);.
 
inlinevoid callNestedReverse (Nested *nested, size_t &start, size_t const &end, Args &&... args)
 Calls nested->template evaluateReverse<selectedDepth>(args..., start, end, pointers);.
 
template<int selectedDepth, typename Nested, typename... Args>
inlinevoid callNestedReverse (Nested *nested, size_t &start, size_t const &end, Args &&... args)
 Calls nested->template evaluateReverse<selectedDepth>(args..., start, end, pointers);.
 
void setPointers (const size_t &dataPos, ChunkData *chunk)
 Sets the internal pointers to the data of the chunk. Afterwards on of the call functions can be called.
 
void setPointers (size_t const &dataPos, Chunk *chunk)
 Sets the internal pointers to the data of the chunk. Afterwards on of the call functions can be called.
 

Detailed Description

template<typename T_Data1, typename T_Data2, typename T_Data3>
struct codi::PointerStore< Chunk3< T_Data1, T_Data2, T_Data3 > >

Pointer store for Chunk3 data.

See PointerStore for details.

Member Function Documentation

◆ call()

template<typename T_Data1, typename T_Data2, typename T_Data3>
template<typename FuncObj, typename... Args>
void codi::PointerStore< Chunk3< T_Data1, T_Data2, T_Data3 > >::call ( FuncObj & func,
Args &&... args )
inline

Calls func(pointers, args...);.

◆ callAndAppend()

template<typename T_Data1, typename T_Data2, typename T_Data3>
template<typename FuncObj, typename... Args>
void codi::PointerStore< Chunk3< T_Data1, T_Data2, T_Data3 > >::callAndAppend ( FuncObj & func,
Args &&... args )
inline

Calls func(args..., pointers);.

◆ callNestedForward()

template<typename T_Data1, typename T_Data2, typename T_Data3>
template<int selectedDepth, typename Nested, typename... Args>
inlinevoid codi::PointerStore< Chunk3< T_Data1, T_Data2, T_Data3 > >::callNestedForward ( Nested * nested,
size_t & start,
size_t const & end,
Args &&... args )
inline

Calls nested->template evaluateForward<selectedDepth>(args..., start, end, pointers);.

◆ callNestedReverse()

template<typename T_Data1, typename T_Data2, typename T_Data3>
template<int selectedDepth, typename Nested, typename... Args>
inlinevoid codi::PointerStore< Chunk3< T_Data1, T_Data2, T_Data3 > >::callNestedReverse ( Nested * nested,
size_t & start,
size_t const & end,
Args &&... args )
inline

Calls nested->template evaluateReverse<selectedDepth>(args..., start, end, pointers);.

◆ setPointers()

template<typename T_Data1, typename T_Data2, typename T_Data3>
void codi::PointerStore< Chunk3< T_Data1, T_Data2, T_Data3 > >::setPointers ( size_t const & dataPos,
Chunk * chunk )
inline

Sets the internal pointers to the data of the chunk. Afterwards on of the call functions can be called.


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