carl
25.02
Computer ARithmetic Library
|
Represent a sum type/variant over the different kinds of values that can be assigned to the different kinds of variables that exist in CARL and to use them in a more uniform way, e.g. More...
#include <ModelValue.h>
Public Member Functions | |
ModelValue ()=default | |
Default constructor. More... | |
ModelValue (const ModelValue &mv) | |
ModelValue (ModelValue &&mv)=default | |
template<typename T , typename T2 = typename std::enable_if<convertible_to_variant<T, Super>::value, T>::type> | |
ModelValue (const T &_t) | |
Initialize the Assignment from some valid type of the underlying variant. More... | |
template<typename T , typename T2 = typename std::enable_if<convertible_to_variant<T, Super>::value, T>::type> | |
ModelValue (T &&_t) | |
template<typename ... Args> | |
ModelValue (const std::variant< Args... > &variant) | |
ModelValue (const MultivariateRoot< Poly > &mr) | |
ModelValue & | operator= (const ModelValue &mv) |
ModelValue & | operator= (ModelValue &&mv)=default |
template<typename T > | |
ModelValue & | operator= (const T &t) |
Assign some value to the underlying variant. More... | |
template<typename ... Args> | |
ModelValue & | operator= (const std::variant< Args... > &variant) |
ModelValue & | operator= (const MultivariateRoot< Poly > &mr) |
template<typename F > | |
auto | visit (F &&f) const |
bool | isBool () const |
bool | isRational () const |
bool | isSqrtEx () const |
bool | isRAN () const |
bool | isBVValue () const |
bool | isSortValue () const |
bool | isUFModel () const |
bool | isSubstitution () const |
bool | isPlusInfinity () const |
bool | isMinusInfinity () const |
bool | isSymbolicInterval () const |
bool | isInfinitesimal () const |
bool | asBool () const |
const Rational & | asRational () const |
const SqrtEx< Poly > & | asSqrtEx () const |
const RAN & | asRAN () const |
const BVValue & | asBVValue () const |
const SortValue & | asSortValue () const |
const UFModel & | asUFModel () const |
UFModel & | asUFModel () |
const InfinityValue & | asInfinity () const |
const ModelSubstitutionPtr< Rational, Poly > & | asSubstitution () const |
ModelSubstitutionPtr< Rational, Poly > & | asSubstitution () |
const SymbolicInterval< Poly > & | asSymbolicInterval () const |
const Infinitesimal< RAN > & | asInfinitesimal () const |
Private Types | |
using | RAN = typename Poly::RootType |
using | Super = std::variant< bool, Rational, SqrtEx< Poly >, RAN, BVValue, SortValue, UFModel, InfinityValue, ModelSubstitutionPtr< Rational, Poly >, SymbolicInterval< Poly >, Infinitesimal< RAN > > |
Base type we are deriving from. More... | |
Private Member Functions | |
template<typename Variant > | |
Super | clone (const Variant &v) const |
Private Attributes | |
Super | mData |
Friends | |
template<typename R , typename P > | |
std::ostream & | operator<< (std::ostream &os, const ModelValue< R, P > &mv) |
template<typename R , typename P > | |
bool | operator== (const ModelValue< R, P > &lhs, const ModelValue< R, P > &rhs) |
template<typename R , typename P > | |
bool | operator< (const ModelValue< R, P > &lhs, const ModelValue< R, P > &rhs) |
Represent a sum type/variant over the different kinds of values that can be assigned to the different kinds of variables that exist in CARL and to use them in a more uniform way, e.g.
a plain "bool", "infinity", a "carl::RealAlgebraicNumber", a (bitvector) "carl::BVValue" etc.
Definition at line 103 of file ModelValue.h.
|
private |
Definition at line 111 of file ModelValue.h.
|
private |
Base type we are deriving from.
Definition at line 115 of file ModelValue.h.
|
default |
Default constructor.
|
inline |
Definition at line 148 of file ModelValue.h.
|
default |
|
inline |
Initialize the Assignment from some valid type of the underlying variant.
Definition at line 157 of file ModelValue.h.
|
inline |
Definition at line 160 of file ModelValue.h.
|
inline |
Definition at line 163 of file ModelValue.h.
|
inline |
Definition at line 165 of file ModelValue.h.
|
inline |
Definition at line 218 of file ModelValue.h.
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 221 of file ModelValue.h.
|
inline |
Definition at line 219 of file ModelValue.h.
|
inline |
Definition at line 223 of file ModelValue.h.
|
inline |
|
inline |
|
inline |
Definition at line 227 of file ModelValue.h.
|
inline |
|
inline |
|
inline |
Definition at line 224 of file ModelValue.h.
|
inlineprivate |
Definition at line 132 of file ModelValue.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 191 of file ModelValue.h.
|
inline |
|
inline |
Assign some value to the underlying variant.
t | Some value. |
Definition at line 180 of file ModelValue.h.
|
default |
|
inline |
|
friend |
|
friend |
Definition at line 255 of file ModelValue.h.
|
friend |
|
private |
Definition at line 129 of file ModelValue.h.