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.