|
Infrared
|
the feature network More...
#include <feature_network.hpp>
Public Types | |
| using | var_idx_t = int |
| using | var_value_t = int |
| using | fun_value_t = FunValue |
| using | assignment_t = Assignment |
| using | function_t = Function< FunValue > |
| using | constraint_t = Constraint |
| using | evaluation_policy_t = EvaluationPolicy |
| using | cluster_t = Cluster< fun_value_t > |
| suitable cluster type for the constraint network | |
Public Member Functions | |
| FeatureNetwork () | |
| Construct empty. | |
| FeatureNetwork (const FiniteDomainVector &domains) | |
| Construct with domains. | |
| FeatureNetwork (int num_vars, FiniteDomain domain) | |
| Construct with domains of equal size. | |
| ~FeatureNetwork () | |
| var_idx_t | add_variable (FiniteDomain domain) |
| add variable with domain size | |
| auto | add_constraint (const std::shared_ptr< constraint_t > &x) |
| add constraint | |
| auto | add_function (const std::shared_ptr< function_t > &x) |
| add function | |
| int | num_vars () const |
| Number of variables. | |
| const auto & | domains () const |
| Get vector of domains (read only) | |
the feature network
A feature network consists of sets of
The variables are indexed (0..n-1). Each variable has a finite domain. An object holds shared pointers to the functions and constraints of the network. In this way, it guarantees their existence as long as the network exists.
| using ired::FeatureNetwork< FunValue, EvaluationPolicy >::assignment_t = Assignment |
| using ired::FeatureNetwork< FunValue, EvaluationPolicy >::cluster_t = Cluster<fun_value_t> |
suitable cluster type for the constraint network
| using ired::FeatureNetwork< FunValue, EvaluationPolicy >::constraint_t = Constraint |
| using ired::FeatureNetwork< FunValue, EvaluationPolicy >::evaluation_policy_t = EvaluationPolicy |
| using ired::FeatureNetwork< FunValue, EvaluationPolicy >::fun_value_t = FunValue |
| using ired::FeatureNetwork< FunValue, EvaluationPolicy >::function_t = Function<FunValue> |
| using ired::FeatureNetwork< FunValue, EvaluationPolicy >::var_idx_t = int |
| using ired::FeatureNetwork< FunValue, EvaluationPolicy >::var_value_t = int |
|
inline |
Construct empty.
|
inlineexplicit |
Construct with domains.
|
inline |
Construct with domains of equal size.
|
inline |
|
inline |
add constraint
| x | shared pointer to constraint |
If the virtual method x->auto_materialize() returns true, then the constraint *x is materialized as mx and the cn holds a shared pointer to *mx. Otherwise, the network holds a shared pointer to *x.
|
inline |
add function
| x | shared pointer to function |
If the virtual method x->auto_materialize() returns true, then the function *x is materialized as mx and the cn holds a shared pointer to *mx. Otherwise, the network holds a shared pointer to *x.
|
inline |
add variable with domain size
|
inline |
Get vector of domains (read only)
|
inline |
Number of variables.