#include <constraint.hpp>
Public Member Functions | |
con_type (bool val=true) | |
con_type (const std::string &var) | |
con_type | operator & (const con_type &rhs) const |
con_type | operator| (const con_type &rhs) const |
con_type | operator^ (const con_type &rhs) const |
con_type | operator! () const |
bool | is_false () const |
bool | is_true () const |
void | project (const std::set< std::string > &to_keep) |
std::set< std::string > | get_cvars () |
Private Attributes | |
bdd | constraint |
std::set< std::string > | cvars |
Friends | |
class | conaux |
std::ostream & | operator<< (std::ostream &os, const con_type &con) |
|
Creates a constraint representing the inclusion of every solution (true, default) or the exclusion of every solution (false).
|
|
Creates a constraint representing a variable (will be created if it doesn't exist). The solutions to this constraint will be those where the variable is solved.
|
|
Gets the names of the constraint variables used by this constraint.
|
|
Returns true if this constraint has no solutions, false otherwise.
|
|
Returns false if this constraint has no solutions, true otherwise.
|
|
Returns the conjunction of two constraints. The solutions of the returned constraint will be the intersection of the solutions to both constraints.
|
|
Returns the complement of a constraint. The solutions of the returned constraint will be those not solving the given constraint.
|
|
Returns the symmetric difference of two constraints. The solutions of the returned constraint will be the solutions in one of the constraints, but not both.
|
|
Returns the disjunction of two constraints. The solutions of the returned constraint will be the union of the solutions to both constraints.
|
|
Projects this constraint onto the given variables.
|
|
|
|
Write a text representation of this constraint to an ostream.
|
|
The internal BDD of this constraint. |
|
The names of the variables used in this constraint. |