38#include "../../misc/enumBitset.hpp"
39#include "../../misc/exceptions.hpp"
55 template<
typename T_Tag>
73 CODI_EXCEPTION(
"Operation on different tag objects.");
79#if CODI_ImplicitTagConversion
81 operator Tag()
const {
88 template<
typename Tag>
94 template<
typename Tag>
110 CODI_EXCEPTION(
"Unkown flag for codi::TagFlags %d.", (
int)flag);
#define CODI_INLINE
See codi::Config::ForcedInlines.
Definition config.h:469
#define CODI_DD(Type, Default)
Abbreviation for CODI_DECLARE_DEFAULT.
Definition macros.hpp:96
CoDiPack - Code Differentiation Package.
Definition codi.hpp:94
inlinebool operator!=(ExpressionInterface< std::complex< Real >, ArgA > const &argA, RealTraits::PassiveReal< Real > const &argB)
Function overload for OPERATOR(complex, passive real).
Definition allOperators.hpp:78
TagFlags
Properties for values.
Definition tagData.hpp:46
@ DoNotChange
DoNotChange: Value can be assigned, but it should not change.
Definition tagData.hpp:47
@ DoNotWrite
DoNotWrite: Value can not be assigned.
Definition tagData.hpp:48
@ DoNotUse
Definition tagData.hpp:49
inlinebool operator==(ExpressionInterface< std::complex< Real >, ArgA > const &argA, RealTraits::PassiveReal< Real > const &argB)
Function overload for OPERATOR(complex, passive real).
Definition allOperators.hpp:78
A bitset with enum items as flags.
Definition enumBitset.hpp:64
Data for a tag.
Definition tagData.hpp:56
constexpr TagData()
Constructor.
Definition tagData.hpp:65
EnumBitset< TagFlags > properties
Definition tagData.hpp:62
TagData & operator+=(TagData const &o)
Operator for satisfying other software.
Definition tagData.hpp:71
Tag tag
Definition tagData.hpp:61
T_Tag Tag
See TagData.
Definition tagData.hpp:59
TagData(Tag tag)
Constructor.
Definition tagData.hpp:68