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:457
#define CODI_DD(Type, Default)
Abbreviation for CODI_DECLARE_DEFAULT.
Definition macros.hpp:94
CoDiPack - Code Differentiation Package.
Definition codi.hpp:90
bool operator==(Enum a, EnumBitset< Enum > const &b)
Equal comparison for an enum and a bitset.
Definition enumBitset.hpp:247
bool operator!=(Enum a, EnumBitset< Enum > const &b)
Not equal comparison for an enum and a bitset.
Definition enumBitset.hpp:241
TagFlags
Properties for values.
Definition tagData.hpp:46
@ DoNotChange
DoNotChange: Value can be assigned, but it should not change.
@ DoNotWrite
DoNotWrite: Value can not be assigned.
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
Current properties of the value.
Definition tagData.hpp:62
TagData & operator+=(TagData const &o)
Operator for satisfying other software.
Definition tagData.hpp:71
Tag tag
Current tag of the value.
Definition tagData.hpp:61
T_Tag Tag
See TagData.
Definition tagData.hpp:59
TagData(Tag tag)
Constructor.
Definition tagData.hpp:68