coco::dag_undelta Class Reference
[Deltas]

The DAG undelta class for undoing changes to the DAG of a model. More...

#include <dag_delta.h>

Inheritance diagram for coco::dag_undelta:

Inheritance graph
[legend]
Collaboration diagram for coco::dag_undelta:

Collaboration graph
[legend]

List of all members.

Classes

class  __check_walkers

Public Member Functions

 dag_undelta (bool full=false)
 dag_undelta (gptr< model > *__nc)
 dag_undelta (const dag_undelta &_du)
 ~dag_undelta ()
dag_undeltanew_copy () const
void destroy_copy (undelta_base *__d) const
bool unapply (work_node &x, const delta_id &_did) const
undelta make_undelta ()
virtual bool unapply3 (work_node &_x, const work_node &_y, const delta_id &_d) const

Public Attributes

gptr< model > * old_model
counted_ptr< modelrm_dag
std::vector< model::enhanced_edgerm_e
std::vector< walker > added_nodes
std::vector< walker > added_constraints
std::vector< walker > added_ghosts
std::vector< walker > added_vars
std::map< unsigned int, intervalbounds_chgd
bool is_full_undelta

Friends

class dag_delta


Detailed Description

This class is used to specify undo information for changes to the DAG of a model. This class undoes the apply of a dag_delta.

Definition at line 42 of file dag_delta.h.


Constructor & Destructor Documentation

coco::dag_undelta::dag_undelta ( bool  full = false  )  [inline]

Standard Constructor, setting the is_full_undelta member to full.

Definition at line 101 of file dag_delta.h.

coco::dag_undelta::dag_undelta ( gptr< model > *  __nc  )  [inline]

Constructor, setting the is_full_undelta member to true and storing the original model __nc.

Definition at line 111 of file dag_delta.h.

coco::dag_undelta::dag_undelta ( const dag_undelta _du  )  [inline]

Standard Copy Constructor

Definition at line 120 of file dag_delta.h.

coco::dag_undelta::~dag_undelta (  )  [inline]

Standard Destructor

Definition at line 136 of file dag_delta.h.


Member Function Documentation

void coco::dag_undelta::destroy_copy ( undelta_base __d  )  const [inline]

Clone Destructor

Definition at line 147 of file dag_delta.h.

undelta coco::undelta_base::make_undelta (  )  [inline, inherited]

Construct an undelta from this undelta_base.

Definition at line 283 of file api_deltabase.h.

dag_undelta* coco::dag_undelta::new_copy (  )  const [inline, virtual]

Clone Operation

Reimplemented from coco::undelta_base.

Definition at line 145 of file dag_delta.h.

bool coco::dag_undelta::unapply ( work_node x,
const delta_id _did 
) const [virtual]

Undo the dag_delta with delta_id _i in work node _x

Reimplemented from coco::undelta_base.

Definition at line 327 of file dag_delta.cc.

bool coco::undelta_base::unapply3 ( work_node _x,
const work_node _y,
const delta_id _d 
) const [inline, virtual, inherited]

Undo the delta with delta_id _d in work node _x, constructing in the process work_node _y, without changing _x. This method should be overloaded in the specializations of this class for maximal efficiency, but it need not since a standard procedure is available, which uses the work_node copy constructur and the unapply method.

Definition at line 94 of file api_delta.h.


Friends And Related Function Documentation

friend class dag_delta [friend]

Definition at line 152 of file dag_delta.h.


Member Data Documentation

The vector of constraints added by the dag_delta

Definition at line 62 of file dag_delta.h.

std::vector<walker> coco::dag_undelta::added_ghosts

The vector of ghosts added by the dag_delta

Definition at line 64 of file dag_delta.h.

std::vector<walker> coco::dag_undelta::added_nodes

The vector of nodes added by the dag_delta

Definition at line 60 of file dag_delta.h.

std::vector<walker> coco::dag_undelta::added_vars

The vector of variables added by the dag_delta

Definition at line 66 of file dag_delta.h.

std::map<unsigned int, interval> coco::dag_undelta::bounds_chgd

This map maps node numbers of ghosts overlaid over other nodes to the bounds of the nodes being overlaid prior to the application of the dag_delta.

Definition at line 71 of file dag_delta.h.

This variable is used to decide whether the dag_delta was a full model delta or an incremental delta.

Definition at line 75 of file dag_delta.h.

This variable holds the complete old model, in case the dag_delta made a full model delta (is_full_undelta == true)

Definition at line 50 of file dag_delta.h.

This variable holds the subgraph induced by all nodes which have been removed by the dag_delta.

Definition at line 54 of file dag_delta.h.

This variable holds the edges which had connected the removed subgraph to the remaining DAG prior to its removal by the dag_delta.

Definition at line 57 of file dag_delta.h.


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

Generated on Tue Feb 9 14:48:00 2010 for COCONUT API by  doxygen 1.5.8