SMT-RAT
24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
|
#include <CADConstraints.h>
Data Structures | |
struct | ConstraintComparator |
Public Types | |
using | Callback = std::function< void(const UPoly &, std::size_t, bool)> |
using | VariableBounds = vb::VariableBounds< ConstraintT > |
Public Member Functions | |
CADConstraints (const Callback &onAdd, const Callback &onAddEq, const Callback &onRemove) | |
CADConstraints (const CADConstraints &)=delete | |
void | reset (const std::vector< carl::Variable > &vars) |
const std::vector< carl::Variable > & | vars () const |
std::size_t | size () const |
bool | valid (std::size_t id) const |
const auto & | indexed () const |
const auto & | ordered () const |
const auto & | bounds () const |
const auto & | unsatByBounds () const |
std::size_t | add (const ConstraintT &c) |
carl::Bitset | remove (const ConstraintT &c) |
Removes a constraint. More... | |
const ConstraintT & | operator[] (std::size_t id) const |
std::size_t | level (std::size_t id) const |
bool | checkForTrivialConflict (std::vector< FormulaSetT > &mis) const |
void | exportAsDot (std::ostream &out) const |
Protected Types | |
using | ConstraintMap = std::map< ConstraintT, std::size_t, ConstraintComparator > |
using | ConstraintIts = std::vector< typename ConstraintMap::iterator > |
Protected Member Functions | |
template<typename CB , typename... Args> | |
void | callCallback (const CB &cb, const ConstraintT &c, Args... args) const |
Protected Attributes | |
std::vector< carl::Variable > | mVariables |
Callback | mAddCallback |
Callback | mAddEqCallback |
Callback | mRemoveCallback |
ConstraintMap | mActiveConstraintMap |
ConstraintMap | mConstraintMap |
std::vector< typename ConstraintMap::iterator > | mConstraintIts |
std::vector< std::size_t > | mConstraintLevels |
carl::IDPool | mIDPool |
VariableBounds | mBounds |
carl::Bitset | mSatByBounds |
List of constraints that are satisfied by bounds. More... | |
carl::Bitset | mUnsatByBounds |
List of constraints that are infeasible due to bounds. More... | |
Friends | |
template<Backtracking B> | |
std::ostream & | operator<< (std::ostream &os, const CADConstraints< B > &cc) |
Definition at line 19 of file CADConstraints.h.
using smtrat::cad::CADConstraints< BT >::Callback = std::function<void(const UPoly&, std::size_t, bool)> |
Definition at line 21 of file CADConstraints.h.
|
protected |
Definition at line 38 of file CADConstraints.h.
|
protected |
Definition at line 37 of file CADConstraints.h.
using smtrat::cad::CADConstraints< BT >::VariableBounds = vb::VariableBounds<ConstraintT> |
Definition at line 22 of file CADConstraints.h.
|
inline |
Definition at line 60 of file CADConstraints.h.
|
delete |
|
inline |
Definition at line 94 of file CADConstraints.h.
|
inline |
|
inlineprotected |
|
inline |
Definition at line 214 of file CADConstraints.h.
|
inline |
Definition at line 242 of file CADConstraints.h.
|
inline |
|
inline |
|
inline |
Definition at line 206 of file CADConstraints.h.
|
inline |
|
inline |
Removes a constraint.
Returns the set of constraint ids that have (possibly) been reassigned and should be cleared from the sample evaluations.
Definition at line 158 of file CADConstraints.h.
|
inline |
Definition at line 62 of file CADConstraints.h.
|
inline |
|
inline |
Definition at line 91 of file CADConstraints.h.
|
inline |
|
inline |
|
friend |
|
protected |
Definition at line 44 of file CADConstraints.h.
|
protected |
Definition at line 41 of file CADConstraints.h.
|
protected |
Definition at line 42 of file CADConstraints.h.
|
protected |
Definition at line 49 of file CADConstraints.h.
|
protected |
Definition at line 46 of file CADConstraints.h.
|
protected |
Definition at line 47 of file CADConstraints.h.
|
protected |
Definition at line 45 of file CADConstraints.h.
|
protected |
Definition at line 48 of file CADConstraints.h.
|
protected |
Definition at line 43 of file CADConstraints.h.
|
protected |
List of constraints that are satisfied by bounds.
Definition at line 51 of file CADConstraints.h.
|
protected |
List of constraints that are infeasible due to bounds.
Definition at line 53 of file CADConstraints.h.
|
protected |
Definition at line 40 of file CADConstraints.h.