|
|
bool | isLeaf () const |
| |
|
| Choice (const L &label, size_t count) |
| | Constructor, given choice label and mandatory expected branch count.
|
| |
|
| Choice (const Choice &f, const Choice &g, const Binary &op) |
| | Construct from applying binary op to two Choice nodes.
|
| |
|
const L & | label () const |
| |
|
size_t | nrChoices () const |
| |
|
const std::vector< NodePtr > & | branches () const |
| |
|
void | push_back (const NodePtr &node) |
| | add a branch: TODO merge into constructor
|
| |
|
void | print (const std::string &s) const |
| | print (as a tree)
|
| |
|
void | dot (std::ostream &os, bool showZero) const |
| | output to graphviz (as a a graph)
|
| |
|
bool | sameLeaf (const Leaf &q) const |
| | Choice-Leaf equality: always false.
|
| |
|
bool | sameLeaf (const Node &q) const |
| | polymorphic equality: if q is a leaf, could be...
|
| |
|
bool | equals (const Node &q, double tol) const |
| | equality up to tolerance
|
| |
|
const Y & | operator() (const Assignment< L > &x) const |
| | evaluate
|
| |
|
| Choice (const L &label, const Choice &f, const Unary &op) |
| | Construct from applying unary op to a Choice node.
|
| |
|
NodePtr | apply (const Unary &op) const |
| | apply unary operator
|
| |
|
NodePtr | apply_f_op_g (const Node &g, const Binary &op) const |
| |
|
NodePtr | apply_g_op_fL (const Leaf &fL, const Binary &op) const |
| |
|
NodePtr | apply_g_op_fC (const Choice &fC, const Binary &op) const |
| |
|
template<typename OP > |
| NodePtr | apply_fC_op_gL (const Leaf &gL, OP op) const |
| |
|
NodePtr | choose (const L &label, size_t index) const |
| | choose a branch, recursively
|
| |
|
const void * | id () const |
| |