42#include "dataInterface.hpp"
43#include "position.hpp"
87 void resize(
size_t const& totalSize) {
141 template<
typename =
void>
163 template<
int selectedDepth = -1,
typename FunctionObject,
typename... Args>
167 function(std::forward<Args>(args)...);
173 template<
int selectedDepth = -1,
typename FunctionObject,
typename... Args>
177 function(std::forward<Args>(args)...);
181 template<
typename FunctionObject,
typename... Args>
187 template<
typename FunctionObject,
typename... Args>
194 template<
typename FunctionObject,
typename... Args>
#define CODI_INLINE
See codi::Config::ForcedInlines.
Definition config.h:457
CoDiPack - Code Differentiation Package.
Definition codi.hpp:90
void CODI_UNUSED(Args const &...)
Disable unused warnings for an arbitrary number of arguments.
Definition macros.hpp:46
Data stream interface for tape data. Encapsulates data that is written e.g. for each statement or arg...
Definition dataInterface.hpp:149
No data is stored in this DataInterface implementation. It is used to terminate the recursive nature ...
Definition emptyData.hpp:54
void reset()
Definition emptyData.hpp:92
void setNested(NestedData *v)
Definition emptyData.hpp:148
void addDataSize(size_t size)
Add this many items to the data stream, after the data has been manipulated via pointers obtained fro...
Definition emptyData.hpp:72
void forEachChunk(FunctionObject &function, bool recursive, Args &&... args)
Calls the function object for each continuous segment of data.
Definition emptyData.hpp:182
void getDataPointers()
Get pointers to the data from the storage implementation. The method can only be called after a call ...
Definition emptyData.hpp:69
void forEachForward(Position const &start, Position const &end, FunctionObject function, Args &&... args)
Calls the function object for each item in the data stream. This call is not recursive.
Definition emptyData.hpp:188
InternalPosHandle reserveItems(size_t const &items)
Reserve this many items on the data stream. See pushData for details.
Definition emptyData.hpp:77
void resetHard()
Definition emptyData.hpp:95
void forEachReverse(Position const &start, Position const &end, FunctionObject function, Args &&... args)
Calls the function object for each item in the data stream. This call is not recursive.
Definition emptyData.hpp:195
void evaluateReverse(Position const &start, Position const &end, FunctionObject function, Args &&... args)
Evaluates the function object with segments of continuous and valid data for all nested DataInterface...
Definition emptyData.hpp:174
Position getZeroPosition() const
Definition emptyData.hpp:128
size_t getPushedDataCount(InternalPosHandle const &startPos)
Definition emptyData.hpp:121
void pushData()
Add data to the storage allocated by the implementation. The method can only be called after a call t...
Definition emptyData.hpp:66
void NestedData
No nested data.
Definition emptyData.hpp:57
void evaluateForward(Position const &start, Position const &end, FunctionObject function, Args &&... args)
Evaluates the function object with segments of continuous and valid data for all nested DataInterface...
Definition emptyData.hpp:164
EmptyPosition Position
No positional data.
Definition emptyData.hpp:59
size_t getDataSize() const
Definition emptyData.hpp:111
Position getPosition() const
Definition emptyData.hpp:116
size_t InternalPosHandle
Will always be zero.
Definition emptyData.hpp:60
void erase(Position const &start, Position const &end, bool recursive=true)
Definition emptyData.hpp:103
void swap(DataInterface &other)
Definition emptyData.hpp:153
void resize(size_t const &totalSize)
Definition emptyData.hpp:87
void addToTapeValues(TapeValues &values) const
Add amount of stored data to the TapeValues object. Not called on the nested vector.
Definition emptyData.hpp:136
void resetTo(Position const &pos)
Definition emptyData.hpp:98
Position extractPosition(Position const &pos) const
Extract the position of a nested DataInterface from the global position object provide by this interf...
Definition emptyData.hpp:142
Empty Position with no nested data.
Definition position.hpp:47
Tape information that can be printed in a pretty print format or a table format.
Definition tapeValues.hpp:73