45 template<
typename... Args>
49#define CODI_UNUSED_ARG(arg)
53#define CODI_ENABLE_CHECK(option, condition) (!(option) || (condition))
56#define CODI_TO_STRING2(expression) #expression
59#define CODI_TO_STRING(expression) CODI_TO_STRING2(expression)
62#define CODI_IS_CPP14 (201402L <= __cplusplus)
65#define CODI_IS_CPP17 (201703L <= __cplusplus)
84 #define CODI_DECLARE_DEFAULT(Type, Default) Default
86 #define CODI_DECLARE_DEFAULT(Type, Default) Type
92 #define CODI_DD(Type, Default) Default
94 #define CODI_DD(Type, Default) Type
100#ifndef DOXYGEN_DISABLE
105#define CODI_IMPLEMENTATION ImplProxy
108#define CODI_TEMPLATE(...) __VA_ARGS__
111#define CODI_T(...) CODI_TEMPLATE(__VA_ARGS__)
114#define CODI_UNDEFINED void
117#define CODI_UNDEFINED_VALUE false
120 #define CODI_STATIC_ASSERT(cond, message)
123 #define CODI_STATIC_ASSERT(cond, message) static_assert(cond, message)
128 struct ActiveTypeProxy {
130 using Identifier = int;
134 #define CODI_DEFAULT_TAPE FullTapeInterface<double, double, int, EmptyPosition>
137 #define CODI_DEFAULT_PARALLEL_TAPE CODI_UNION<CODI_DEFAULT_TAPE, EditingTapeInterface<EmptyPosition>>
140 #define CODI_DEFAULT_LHS_EXPRESSION LhsExpressionInterface<double, double, CODI_DEFAULT_TAPE, CODI_ANY>
143#ifndef DOXYGEN_DISABLE
145 template<
typename First,
typename... Tail>
146 struct CODI_UNION :
public First,
public CODI_UNION<Tail...> {};
150 template<
typename First>
151 struct CODI_UNION<First> :
public First {};
156#define CODI_WRAP_FUNCTION(NAME, FUNC) \
160 template<typename... Args> \
161 void operator()(Args&&... args) const { \
162 FUNC(std::forward<Args>(args)...); \
167#define CODI_WRAP_FUNCTION_TEMPLATE(NAME, FUNC) \
168 template<typename... TT> \
172 template<typename... Args> \
173 void operator()(Args&&... args) const { \
174 FUNC<TT...>(std::forward<Args>(args)...); \
#define CODI_INLINE
See codi::Config::ForcedInlines.
Definition config.h:457
CoDiPack - Code Differentiation Package.
Definition codi.hpp:90
void CODI_UNUSED(Args const &...)
Disable unused warnings for an arbitrary number of arguments.
Definition macros.hpp:46
Represents a concrete lvalue in the CoDiPack expression tree.
Definition activeType.hpp:52