39#include "../tapes/interfaces/gradientAccessTapeInterface.hpp"
40#include "../traits/realTraits.hpp"
41#include "assignmentOperators.hpp"
42#include "incrementOperators.hpp"
43#include "lhsExpressionInterface.hpp"
55 template<
typename T_Type>
57 typename T_Type::Tape, ReferenceActiveType<T_Type>>,
64 using Tape =
typename Type::Tape;
66 using Real =
typename Tape::Real;
103 return reference.getIdentifier();
108 return reference.getIdentifier();
113 return reference.value();
118 return reference.value();
123 return Type::getTape();
#define CODI_INLINE
See codi::Config::ForcedInlines.
Definition config.h:457
#define CODI_DD(Type, Default)
Abbreviation for CODI_DECLARE_DEFAULT.
Definition macros.hpp:94
typename TraitsImplementation< Type >::PassiveReal PassiveReal
The original computation type, that was used in the application.
Definition realTraits.hpp:117
CoDiPack - Code Differentiation Package.
Definition codi.hpp:91
Implementation of assignment operators for LhsExpressionInterface implementations.
Definition assignmentOperators.hpp:54
Implementation of increment operators for LhsExpressionInterface implementations.
Definition incrementOperators.hpp:54
Base class for all CoDiPack lvalue expression.
Definition lhsExpressionInterface.hpp:63
Holds a reference to an ActiveType for manual optimization of common arguments.
Definition referenceActiveType.hpp:59
ReferenceActiveType & operator=(ReferenceActiveType const &v)
See LhsExpressionInterface::operator=(ExpressionInterface const&).
Definition referenceActiveType.hpp:88
Real jacobian
Used by Jacobian tapes to optimize for reoccurring arguments.
Definition referenceActiveType.hpp:80
Real & value()
Get a reference to the lvalue represented by the expression.
Definition referenceActiveType.hpp:112
Identifier & getIdentifier()
Definition referenceActiveType.hpp:102
Real const & value() const
Get a constant reference to the lvalue represented by the expression.
Definition referenceActiveType.hpp:117
Identifier const & getIdentifier() const
Definition referenceActiveType.hpp:107
static decltype(Type::getTape()) getTape()
Get a reference to the tape which manages this expression.
Definition referenceActiveType.hpp:122
typename Tape::Real Real
See LhsExpressionInterface.
Definition referenceActiveType.hpp:66
ReferenceActiveType const & StoreAs
Defines how this expression is stored in an expression tree.
Definition referenceActiveType.hpp:98
ReferenceActiveType(Type &v)
Constructor.
Definition referenceActiveType.hpp:83
typename Tape::Gradient Gradient
See LhsExpressionInterface.
Definition referenceActiveType.hpp:69
RealTraits::PassiveReal< Real > PassiveReal
Basic computation type.
Definition referenceActiveType.hpp:67
typename Type::Tape Tape
See LhsExpressionInterface.
Definition referenceActiveType.hpp:64
T_Type Type
See ReferenceActiveType.
Definition referenceActiveType.hpp:63
typename Type::ActiveResult ActiveResult
Type into which the expression can be converted. Usually also the type from which it is constructed.
Definition referenceActiveType.hpp:99
typename Tape::Identifier Identifier
See LhsExpressionInterface.
Definition referenceActiveType.hpp:68