souffle  2.0.2-371-g6315b36
Data Structures | Namespaces | Functions
ConstraintSystem.h File Reference
#include "souffle/utility/StreamUtil.h"
#include <iostream>
#include <map>
#include <memory>
#include <set>
#include <string>
#include <utility>
#include <vector>
Include dependency graph for ConstraintSystem.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  souffle::ast::analysis::Assignment< Var >
 An assignment maps a list of variables to values of their respective property space. More...
 
class  souffle::ast::analysis::Assignment< Var >
 An assignment maps a list of variables to values of their respective property space. More...
 
class  souffle::ast::analysis::Constraint< Var >
 A generic base class for constraints on variables. More...
 
class  souffle::ast::analysis::Constraint< Var >
 A generic base class for constraints on variables. More...
 
struct  souffle::ast::analysis::detail::default_bottom_factory< T >
 
struct  souffle::ast::analysis::detail::default_meet_op< T, meet_assign_op >
 
class  souffle::ast::analysis::Problem< Var >
 A problem is a list of constraints for which a solution is desired. More...
 
class  souffle::ast::analysis::Problem< Var >
 A problem is a list of constraints for which a solution is desired. More...
 
struct  souffle::ast::analysis::property_space< T, meet_assign_op, bottom_factory, meet_op >
 A MPL type for defining a property space. More...
 
struct  souffle::ast::analysis::detail::set_meet_assign_op< T >
 A meet operator for set-based property spaces based on the sub-set lattices. More...
 
struct  souffle::ast::analysis::set_property_space< T >
 A property space for set-based properties based on sub-set lattices. More...
 
struct  souffle::ast::analysis::Variable< Id, PropertySpace >
 A variable to be utilized within constraints to be handled by the constraint solver. More...
 
struct  souffle::ast::analysis::Variable< Id, PropertySpace >
 A variable to be utilized within constraints to be handled by the constraint solver. More...
 

Namespaces

 souffle
 
 souffle::ast
 
 souffle::ast::analysis
 
 souffle::ast::analysis::detail
 

Functions

template<typename Var , typename Val = typename Var::property_space::value_type>
std::shared_ptr< Constraint< Var > > souffle::ast::analysis::sub (const Val &a, const Var &b, const std::string &symbol="⊑")
 A generic factory for constraints of the form. More...
 
template<typename Var >
std::shared_ptr< Constraint< Var > > souffle::ast::analysis::sub (const Var &a, const Var &b, const std::string &symbol="⊑")
 A generic factory for constraints of the form. More...