carl  24.04
Computer ARithmetic Library
Constraint.h File Reference
Include dependency graph for Constraint.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  carl::CachedConstraintContent< Pol >
 
class  carl::Constraint< Pol >
 Represent a polynomial (in)equality against zero. More...
 
struct  std::hash< carl::Constraint< Pol > >
 Implements std::hash for constraints. More...
 
struct  std::hash< std::vector< carl::Constraint< Pol > > >
 Implements std::hash for vectors of constraints. More...
 

Namespaces

 carl
 carl is the main namespace for the library.
 

Typedefs

template<typename Poly >
using carl::Constraints = std::set< Constraint< Poly >, carl::less< Constraint< Poly >, false > >
 
template<typename Pol >
using carl::ConstraintPool = pool::Pool< CachedConstraintContent< Pol > >
 

Functions

template<typename P >
bool carl::operator== (const Constraint< P > &lhs, const Constraint< P > &rhs)
 
template<typename P >
bool carl::operator!= (const Constraint< P > &lhs, const Constraint< P > &rhs)
 
template<typename P >
bool carl::operator< (const Constraint< P > &lhs, const Constraint< P > &rhs)
 
template<typename P >
bool carl::operator<= (const Constraint< P > &lhs, const Constraint< P > &rhs)
 
template<typename P >
bool carl::operator> (const Constraint< P > &lhs, const Constraint< P > &rhs)
 
template<typename P >
bool carl::operator>= (const Constraint< P > &lhs, const Constraint< P > &rhs)
 
template<typename Poly >
std::ostream & carl::operator<< (std::ostream &os, const Constraint< Poly > &c)
 Prints the given constraint on the given stream. More...
 
template<typename Pol >
void carl::variables (const Constraint< Pol > &c, carlVariables &vars)
 
template<typename Pol >
std::optional< std::pair< Variable, Pol > > carl::get_substitution (const Constraint< Pol > &c, bool _negated=false, Variable _exclude=carl::Variable::NO_VARIABLE)
 
template<typename Pol >
auto carl::get_assignment (const Constraint< Pol > &c)
 
template<typename Pol >
auto carl::compare (const Constraint< Pol > &c1, const Constraint< Pol > &c2)
 
template<typename Pol >
auto carl::satisfied_by (const Constraint< Pol > &c, const Assignment< typename Pol::NumberType > &a)
 
template<typename Pol >
bool carl::is_bound (const Constraint< Pol > &constr, bool negated=false)
 
template<typename Pol >
bool carl::is_lower_bound (const Constraint< Pol > &constr)
 
template<typename Pol >
bool carl::is_upper_bound (const Constraint< Pol > &constr)