#include <cuts.h>
Collaboration diagram for Cut< CutType >:
Public Member Functions | |
Cut (Pointer< CutType > cut_, Pointer< MinlpNode > node=NULL) | |
Cut (const Cut< CutType > &cut_) | |
virtual | ~Cut () |
bool | valid (const Pointer< MinlpNode > &node=NULL) const |
void | add_node (Pointer< MinlpNode > node) |
void | duplicate_nodeinfo (Pointer< MinlpNode > oldnode, Pointer< MinlpNode > newnode) |
Duplicates a CutNodeInfo and uses it for a new node. | |
bool | remove_node (Pointer< MinlpNode > node) |
Removed a node from the nodes-list, if it exists there. | |
pair< bool, bool > | set_inactivetime (Pointer< MinlpNode > node, bool increase, int limit) |
Increases or resets the inactivity time for a node or global. | |
const CutType & | get_cut () const |
Private Attributes | |
Pointer< CutType > | cut |
The cut. | |
map< Pointer< MinlpNode >, NodeInfo > | nodes |
The nodes, which use this cut. | |
bool | global |
Indicates, whether this is a global cut (valid for all nodes). | |
int | inactive_time_global |
If global, the time, this cut was inactive now. | |
bool | tagged |
Used to distinguish between cuts, which were added recently, and cuts, which existed "from the beginning". | |
Friends | |
class | CutPool |
Classes | |
class | NodeInfo |
Definition at line 150 of file cuts.h.
Cut< CutType >::Cut | ( | Pointer< CutType > | cut_, | |
Pointer< MinlpNode > | node = NULL | |||
) | [inline] |
Definition at line 190 of file cuts.h.
References Cut< CutType >::add_node(), and Cut< CutType >::global.
bool Cut< CutType >::valid | ( | const Pointer< MinlpNode > & | node = NULL |
) | const [inline] |
Definition at line 202 of file cuts.h.
References Cut< CutType >::global, and Cut< CutType >::nodes.
Definition at line 206 of file cuts.h.
References Cut< CutType >::nodes.
Referenced by Cut< CutType >::Cut().
void Cut< CutType >::duplicate_nodeinfo | ( | Pointer< MinlpNode > | oldnode, | |
Pointer< MinlpNode > | newnode | |||
) |
Duplicates a CutNodeInfo and uses it for a new node.
Needed, when a node is splitted into new nodes.
Removed a node from the nodes-list, if it exists there.
pair<bool, bool> Cut< CutType >::set_inactivetime | ( | Pointer< MinlpNode > | node, | |
bool | increase, | |||
int | limit | |||
) |
Increases or resets the inactivity time for a node or global.
If this time exceeds a limit, the node is removed from the nodes set. For a global cut, the value of node is nonrelevant.
increase | Whether to increase the inactive timer or to set it to 0. | |
limit | The limit for inactivity. |
const CutType& Cut< CutType >::get_cut | ( | ) | const [inline] |
The nodes, which use this cut.
Definition at line 176 of file cuts.h.
Referenced by Cut< CutType >::add_node(), and Cut< CutType >::valid().
Indicates, whether this is a global cut (valid for all nodes).
Definition at line 180 of file cuts.h.
Referenced by Cut< CutType >::Cut(), and Cut< CutType >::valid().
int Cut< CutType >::inactive_time_global [private] |