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

Pointer store for Chunk2 data. More...

#include <pointerStore.hpp>

Public Types

using Chunk = Chunk2< Data1, Data2 >
 Template specialization type.
 
using Data1 = T_Data1
 Data entry 1.
 
using Data2 = T_Data2
 Data entry 2.
 

Public Member Functions

template<typename FuncObj , typename... Args>
void call (FuncObj &func, Args &&... args)
 Calls func(pointers, args...);.
 
template<typename FuncObj , typename... Args>
void callAndAppend (FuncObj &func, Args &&... args)
 Calls func(args..., pointers);.
 
template<int selectedDepth, typename Nested , typename... Args>
void 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>
void callNestedReverse (Nested *nested, size_t &start, size_t const &end, Args &&... args)
 Calls nested->template evaluateReverse<selectedDepth>(args..., start, end, pointers);.
 
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>
struct codi::PointerStore< Chunk2< T_Data1, T_Data2 > >

Pointer store for Chunk2 data.

See PointerStore for details.

Member Function Documentation

◆ call()

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

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

◆ callAndAppend()

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

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

◆ callNestedForward()

template<typename T_Data1 , typename T_Data2 >
template<int selectedDepth, typename Nested , typename... Args>
void codi::PointerStore< Chunk2< T_Data1, T_Data2 > >::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 >
template<int selectedDepth, typename Nested , typename... Args>
void codi::PointerStore< Chunk2< T_Data1, T_Data2 > >::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 >
void codi::PointerStore< Chunk2< T_Data1, T_Data2 > >::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: