CoDiPack  3.0.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::TapeTraits Namespace Reference

Classes

struct  IsForwardTape
 If the tape inherits from ForwardEvaluation. More...
 
struct  IsJacobianTape
 If the tape inherits from JacobianBaseTape. More...
 
struct  IsPrimalValueTape
 If the tape inherits from PrimalValueBaseTape. More...
 
struct  IsReverseTape
 
struct  IsTagTape
 If the tape inherits from TagTapeBase. More...
 
struct  IsTagTapeReverse
 If the tape inherits from TagTapeReverse. More...
 
struct  SupportsEditing
 

Detection of specific real value types

template<typename Tape>
using EnableIfForwardTape = typename std::enable_if<IsForwardTape<Tape>::value>::type
 Enable if wrapper for IsForwardTape.
 
template<typename Tape>
using EnableIfPrimalValueTape = typename std::enable_if<IsPrimalValueTape<Tape>::value>::type
 Enable if wrapper for IsPrimalValueTape.
 
template<typename Tape>
using EnableIfJacobianTape = typename std::enable_if<IsJacobianTape<Tape>::value>::type
 Enable if wrapper for IsJacobianTape.
 
template<typename Tape>
using EnableIfReverseTape = typename std::enable_if<IsReverseTape<Tape>::value>::type
 Enable if wrapper for IsReverseTape.
 
template<typename Tape>
using EnableIfSupportsEditing = typename std::enable_if<SupportsEditing<Tape>::value>::type
 Enable if wrapper for SupportsEditing.
 
template<typename Tape>
using EnableIfNoEditing = typename std::enable_if<!SupportsEditing<Tape>::value>::type
 Enable if wrapper for SupportsEditing.
 
template<typename Tape>
using EnableIfTagTape = typename std::enable_if<IsTagTape<Tape>::value>::type
 Enable if wrapper for IsTagTape.
 
template<typename Tape>
using EnableIfTagTapeReverse = typename std::enable_if<IsTagTapeReverse<Tape>::value>::type
 Enable if wrapper for IsTagTape.
 
template<typename Tape>
bool constexpr isForwardTape = IsForwardTape<Tape>::value
 Value entry of IsForwardTape.
 
template<typename Tape>
bool constexpr isPrimalValueTape = IsPrimalValueTape<Tape>::value
 Value entry of IsPrimalValueTape.
 
template<typename Tape>
bool constexpr isJacobianTape = IsJacobianTape<Tape>::value
 Value entry of IsJacobianTape.
 
template<typename Tape>
bool constexpr isReverseTape = IsReverseTape<Tape>::value
 Value entry of IsReverseTape.
 
template<typename Tape>
bool constexpr supportsEditing = SupportsEditing<Tape>::value
 Value entry of SupportsEditing.
 
template<typename Tape>
bool constexpr isTagTape = IsTagTape<Tape>::value
 Value entry of IsTagTape.
 
template<typename Tape>
bool constexpr isTagTapeReverse = IsTagTapeReverse<Tape>::value
 Value entry of IsTagTape.
 

Detailed Description

Traits for everything that can be a CoDiPack tape usually the template argument of codi::ActiveType. Possible types are codi::JacobianLinearTape, codi::ForwardEvaluation, codi::PrimalValueReuseTape, etc..