Parma_Polyhedra_Library::PIP_Decision_Node Class Reference

A tree node representing a decision in the space of solutions. More...

`#include <ppl.hh>`

Inheritance diagram for Parma_Polyhedra_Library::PIP_Decision_Node:
[legend]

## Public Member Functions

virtual PIP_Tree_Node * | clone () const
| Returns a pointer to a dynamically-allocated copy of `*this`.
virtual | ~PIP_Decision_Node ()
| Destructor.
virtual bool | OK () const
| Returns `true` if and only if `*this` is well formed.
virtual const PIP_Decision_Node * | as_decision () const
| Returns `this`.
virtual const PIP_Solution_Node * | as_solution () const
| Returns 0, since `this` is not a solution node.
const PIP_Tree_Node * | child_node (bool b) const
| Returns a const pointer to the `b` (true or false) branch of `*this`.
PIP_Tree_Node * | child_node (bool b)
| Returns a pointer to the `b` (true or false) branch of `*this`.
void | ascii_dump (std::ostream &s) const
| Dumps to `s` an ASCII representation of `*this`.
bool | ascii_load (std::istream &s)
| Loads from `s` an ASCII representation (as produced by ascii_dump(std::ostream&) const) and sets `*this` accordingly. Returns `true` if successful, `false` otherwise.
virtual memory_size_type | total_memory_in_bytes () const
| Returns the total size in bytes of the memory occupied by `*this`.
virtual memory_size_type | external_memory_in_bytes () const
| Returns the size in bytes of the memory managed by `*this`.
Public Member Functions inherited from Parma_Polyhedra_Library::PIP_Tree_Node
virtual | ~PIP_Tree_Node ()
| Destructor.
const Constraint_System & | constraints () const
| Returns the system of parameter constraints controlling `*this`. More...
Artificial_Parameter_Sequence::const_iterator | art_parameter_begin () const
| Returns a const_iterator to the beginning of local artificial parameters.
Artificial_Parameter_Sequence::const_iterator | art_parameter_end () const
| Returns a const_iterator to the end of local artificial parameters.
dimension_type | art_parameter_count () const
| Returns the number of local artificial parameters.
void | print (std::ostream &s, int indent=0) const
| Prints on `s` the tree rooted in `*this`. More...
void | ascii_dump (std::ostream &s) const
| Dumps to `s` an ASCII representation of `*this`.
bool | ascii_load (std::istream &s)
| Loads from `s` an ASCII representation (as produced by ascii_dump(std::ostream&) const) and sets `*this` accordingly. Returns `true` if successful, `false` otherwise.

## Protected Member Functions

| PIP_Decision_Node (const PIP_Decision_Node &y)
| Copy constructor.
virtual void | update_tableau (const PIP_Problem &pip, dimension_type external_space_dim, dimension_type first_pending_constraint, const Constraint_Sequence &input_cs, const Variables_Set &parameters)
| Implements pure virtual method PIP_Tree_Node::update_tableau.
virtual PIP_Tree_Node * | solve (const PIP_Problem &pip, bool check_feasible_context, const Matrix< Row > &context, const Variables_Set &params, dimension_type space_dim, int indent_level)
| Implements pure virtual method PIP_Tree_Node::solve.
virtual void | print_tree (std::ostream &s, int indent, const std::vector< bool > &pip_dim_is_param, dimension_type first_art_dim) const
| Prints on `s` the tree rooted in `*this`.
Protected Member Functions inherited from Parma_Polyhedra_Library::PIP_Tree_Node
| PIP_Tree_Node (const PIP_Problem *owner)
| Constructor: builds a node owned by `*owner`.
| PIP_Tree_Node (const PIP_Tree_Node &y)
| Copy constructor.
const PIP_Problem * | get_owner () const
| Returns a pointer to the PIP_Problem owning object.
const PIP_Decision_Node * | parent () const
| Returns a pointer to this node's parent.
void | set_parent (const PIP_Decision_Node *p)
| Set this node's parent to `*p`.
void | add_constraint (const Row &row, const Variables_Set &parameters)
| Inserts a new parametric constraint in internal row format.
void | parent_merge ()
| Merges parent's artificial parameters into `*this`.

## Additional Inherited Members

Public Types inherited from Parma_Polyhedra_Library::PIP_Tree_Node
typedef std::vector< Artificial_Parameter > | Artificial_Parameter_Sequence
| A type alias for a sequence of Artificial_Parameter's.
Protected Types inherited from Parma_Polyhedra_Library::PIP_Tree_Node
typedef std::vector< Constraint > | Constraint_Sequence
| A type alias for a sequence of constraints.
Static Protected Member Functions inherited from Parma_Polyhedra_Library::PIP_Tree_Node
static void | indent_and_print (std::ostream &s, int indent, const char *str)
| A helper function used when printing PIP trees.
static bool | compatibility_check (Matrix< Row > &s)
| Checks whether a context matrix is satisfiable. More...
static bool | compatibility_check (const Matrix< Row > &context, const Row &row)
| Helper method: checks for satisfiability of the restricted context obtained by adding `row` to `context`.
Protected Attributes inherited from Parma_Polyhedra_Library::PIP_Tree_Node
const PIP_Problem * | owner_
| A pointer to the PIP_Problem object owning this node.
const PIP_Decision_Node * | parent_
| A pointer to the parent of `*this`, null if `*this` is the root.
Constraint_System | constraints_
| The local system of parameter constraints.
Artificial_Parameter_Sequence | artificial_parameters
| The local sequence of expressions for local artificial parameters.
Related Functions inherited from Parma_Polyhedra_Library::PIP_Tree_Node
std::ostream & | operator<< (std::ostream &os, const PIP_Tree_Node &x)
| Output operator: prints the solution tree rooted in `x`. More...

## Detailed Description

A tree node representing a decision in the space of solutions.

The documentation for this class was generated from the following file:

- ppl.hh