41#include "../tapes/interfaces/editingTapeInterface.hpp"
42#include "misc/enableIfHelpers.hpp"
46 template<
typename Tape,
typename Impl>
49 template<
typename Tape,
typename Impl>
52 template<
typename T_Real,
typename T_Gradient>
55 template<
typename T_Real,
typename T_Tag>
58 template<
typename T_Real,
typename T_Tag>
70 template<
typename Tape,
typename =
void>
73#ifndef DOXYGEN_DISABLE
74 template<
typename Tape>
79 template<
typename Tape>
86 template<
typename Tape>
90 template<
typename Tape>
94 template<
typename Tape,
typename =
void>
97#ifndef DOXYGEN_DISABLE
98 template<
typename Tape>
105 template<
typename Tape>
109 template<
typename Tape>
113 template<
typename Tape,
typename =
void>
116#ifndef DOXYGEN_DISABLE
117 template<
typename Tape>
124 template<
typename Tape>
128 template<
typename Tape>
131 template<
typename Tape,
typename =
void>
134#ifndef DOXYGEN_DISABLE
136 template<
typename Tape>
138 typename std::enable_if<IsJacobianTape<Tape>::value || IsPrimalValueTape<Tape>::value>::type>
141 template<
typename Tape>
142 struct IsReverseTape<
148 template<
typename Tape>
152 template<
typename Tape>
155 template<
typename Tape,
typename =
void>
158#ifndef DOXYGEN_DISABLE
159 template<
typename Tape>
165 template<
typename Tape>
169 template<
typename Tape>
173 template<
typename Tape>
177 template<
typename Tape,
typename =
void>
180#ifndef DOXYGEN_DISABLE
181 template<
typename Tape>
186 template<
typename Tape>
187 struct IsTagTape<Tape,
193 template<
typename Tape>
197 template<
typename Tape>
201 template<
typename Tape,
typename =
void>
204#ifndef DOXYGEN_DISABLE
205 template<
typename Tape>
212 template<
typename Tape>
216 template<
typename Tape>
Definition tapeTraits.hpp:63
typename std::enable_if< SupportsEditing< Tape >::value >::type EnableIfSupportsEditing
Enable if wrapper for SupportsEditing.
Definition tapeTraits.hpp:170
bool constexpr isReverseTape
Value entry of IsReverseTape.
Definition tapeTraits.hpp:149
bool constexpr isTagTapeReverse
Value entry of IsTagTape.
Definition tapeTraits.hpp:213
bool constexpr supportsEditing
Value entry of SupportsEditing.
Definition tapeTraits.hpp:166
typename std::enable_if< IsTagTapeReverse< Tape >::value >::type EnableIfTagTapeReverse
Enable if wrapper for IsTagTape.
Definition tapeTraits.hpp:217
typename std::enable_if< IsJacobianTape< Tape >::value >::type EnableIfJacobianTape
Enable if wrapper for IsJacobianTape.
Definition tapeTraits.hpp:129
typename std::enable_if< IsPrimalValueTape< Tape >::value >::type EnableIfPrimalValueTape
Enable if wrapper for IsPrimalValueTape.
Definition tapeTraits.hpp:110
typename std::enable_if< IsForwardTape< Tape >::value >::type EnableIfForwardTape
Enable if wrapper for IsForwardTape.
Definition tapeTraits.hpp:91
bool constexpr isPrimalValueTape
Value entry of IsPrimalValueTape.
Definition tapeTraits.hpp:106
bool constexpr isForwardTape
Value entry of IsForwardTape.
Definition tapeTraits.hpp:87
bool constexpr isTagTape
Value entry of IsTagTape.
Definition tapeTraits.hpp:194
bool constexpr isJacobianTape
Value entry of IsJacobianTape.
Definition tapeTraits.hpp:125
typename std::enable_if< IsTagTape< Tape >::value >::type EnableIfTagTape
Enable if wrapper for IsTagTape.
Definition tapeTraits.hpp:198
typename std::enable_if<!SupportsEditing< Tape >::value >::type EnableIfNoEditing
Enable if wrapper for SupportsEditing.
Definition tapeTraits.hpp:174
typename std::enable_if< IsReverseTape< Tape >::value >::type EnableIfReverseTape
Enable if wrapper for IsReverseTape.
Definition tapeTraits.hpp:153
CoDiPack - Code Differentiation Package.
Definition codi.hpp:94
std::enable_if< std::is_base_of< Base, Impl >::value, R > enable_if_base_of
Enable if abbreviation for std::is_base_of.
Definition enableIfHelpers.hpp:47
Edit tapes after they have been recorded.
Definition editingTapeInterface.hpp:65
Implementation of a tape-free forward AD mode through the internal expression interfaces.
Definition forwardEvaluation.hpp:74
Base class for all standard Jacobian tape implementations.
Definition jacobianBaseTape.hpp:130
Base class for all standard Primal value tape implementations.
Definition primalValueBaseTape.hpp:131
Tape for tagging variables and find errors in the AD workflow.
Definition tagTapeForward.hpp:62
Tape for tagging variables and find errors in the AD workflow.
Definition tagTapeReverse.hpp:56
If the tape inherits from ForwardEvaluation.
Definition tapeTraits.hpp:71
If the tape inherits from JacobianBaseTape.
Definition tapeTraits.hpp:114
If the tape inherits from PrimalValueBaseTape.
Definition tapeTraits.hpp:95
Definition tapeTraits.hpp:132
If the tape inherits from TagTapeReverse.
Definition tapeTraits.hpp:202
If the tape inherits from TagTapeBase.
Definition tapeTraits.hpp:178
Definition tapeTraits.hpp:156