|
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 |
|