12 namespace requirements
24 template<
typename T,
bool Lightweight = true>
27 using Base = std::conditional_t<Lightweight, std::monostate, internal::CallbackManager>;
38 if constexpr(!Lightweight)
79 #define TVM_DEFINE_LW_NON_LW_CONVERSION_OPERATORS(className, T, L) \
80 className(const className<!L> & other) : abstract::SingleSolvingRequirement<T, L>(other) {} \
81 className & operator=(const className<!L> & other) \
83 abstract::SingleSolvingRequirement<T, L>::operator=(other); \
86 className & operator=(const T & val) \
88 abstract::SingleSolvingRequirement<T, L>::operator=(val); \
Definition: SingleSolvingRequirement.h:26
SingleSolvingRequirement(const T &val, bool isDefault)
Definition: SingleSolvingRequirement.h:48
bool isDefault() const
Definition: SingleSolvingRequirement.h:45
const T & value() const
Definition: SingleSolvingRequirement.h:31
SingleSolvingRequirement & operator=(const SingleSolvingRequirement< T, !Lightweight > &other)
Definition: SingleSolvingRequirement.h:54
T value_
Definition: SingleSolvingRequirement.h:70
void value(const T &val)
Definition: SingleSolvingRequirement.h:34
SingleSolvingRequirement & operator=(const T &val)
Definition: SingleSolvingRequirement.h:61
bool default_
Definition: SingleSolvingRequirement.h:68
SingleSolvingRequirement(const SingleSolvingRequirement< T, !Lightweight > &other)
Definition: SingleSolvingRequirement.h:50