coco::bound_delta Class Reference
[Deltas]

The bound delta class for changing the node bounds within a model. More...

#include <bound_delta.h>

Inheritance diagram for coco::bound_delta:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

 bound_delta (const std::vector< unsigned int > &__i, const std::vector< interval > &__b)
 bound_delta (unsigned int __i, interval __b)
 bound_delta (const bound_delta &__d)
bound_deltanew_copy () const
void destroy_copy (delta_base *__d) const
bool apply (work_node &_x, undelta_base *&_u, const delta_id &_did) const
bool operator== (const delta_base &_c) const
bool operator!= (const delta_base &_c) const
bool operator== (const bound_delta &_c) const
bool operator!= (const bound_delta &_c) const
delta make_delta (const std::string &a)
const std::string & get_action () const
virtual void convert (work_node &_x, delta_base *&_d)
virtual void unkeep ()
virtual bool apply3 (work_node &_x, const work_node &_y, undelta_base *&_u, const delta_id &_d) const

Public Attributes

std::vector< unsigned int > indices
std::vector< intervalnew_f_bounds

Protected Attributes

std::string _action


Detailed Description

This class is used to specify information for changing the node bounds within a model.

Definition at line 98 of file bound_delta.h.


Constructor & Destructor Documentation

coco::bound_delta::bound_delta ( const std::vector< unsigned int > &  __i,
const std::vector< interval > &  __b 
) [inline]

Constructor which explicitly assigns the indices __i and the new bounds __b.

Definition at line 109 of file bound_delta.h.

coco::bound_delta::bound_delta ( unsigned int  __i,
interval  __b 
) [inline]

Constructor which explicitly assigns one index __i and the corresponding bound __b.

Definition at line 116 of file bound_delta.h.

coco::bound_delta::bound_delta ( const bound_delta __d  )  [inline]

Standard Copy Constructor

Definition at line 121 of file bound_delta.h.


Member Function Documentation

bool coco::bound_delta::apply ( work_node _x,
undelta_base *&  _u,
const delta_id _did 
) const [virtual]

Apply the delta with delta_id _d to work node _x, hereby changing the bounds as requested.

Reimplemented from coco::delta_base.

Definition at line 33 of file bound_delta.cc.

bool coco::delta_base::apply3 ( work_node _x,
const work_node _y,
undelta_base *&  _u,
const delta_id _d 
) const [inline, virtual, inherited]

Apply the delta with delta_id _d to work node _x, constructing in the process work_node _y, without changing _x. In this process the undo information for this delta is stored in _u. 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 apply method.

Definition at line 88 of file api_delta.h.

virtual void coco::delta_base::convert ( work_node _x,
delta_base *&  _d 
) [inline, virtual, inherited]

Convert this delta to a delta which can be stored in _x, this is e.g. used for all delta version, which are actually stored as annotation changes.

Reimplemented in coco::table_delta.

Definition at line 189 of file api_deltabase.h.

void coco::bound_delta::destroy_copy ( delta_base __d  )  const [inline]

Clone Destructor

Definition at line 132 of file bound_delta.h.

const std::string& coco::delta_base::get_action (  )  const [inline, inherited]

Retrieve the action information (the delta type) for this delta.

Definition at line 184 of file api_deltabase.h.

delta coco::delta_base::make_delta ( const std::string &  a  )  [inline, inherited]

Construct a delta from this delta_base with the action a.

Definition at line 175 of file api_deltabase.h.

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

Clone Operation

Reimplemented from coco::delta_base.

Definition at line 130 of file bound_delta.h.

bool coco::bound_delta::operator!= ( const bound_delta _c  )  const [inline]

Definition at line 150 of file bound_delta.h.

bool coco::bound_delta::operator!= ( const delta_base _c  )  const [inline]

Definition at line 142 of file bound_delta.h.

bool coco::bound_delta::operator== ( const bound_delta _c  )  const [inline]

Comparison operators

Definition at line 147 of file bound_delta.h.

bool coco::bound_delta::operator== ( const delta_base _c  )  const [inline]

Comparison operators

Definition at line 139 of file bound_delta.h.

virtual void coco::delta_base::unkeep (  )  [inline, virtual, inherited]

Perform this operation when the delta is released (unkept) from a work_node.

Reimplemented in coco::dag_delta.

Definition at line 194 of file api_deltabase.h.


Member Data Documentation

std::string coco::delta_base::_action [protected, inherited]

The action (type) of this delta

Definition at line 154 of file api_deltabase.h.

std::vector<unsigned int> coco::bound_delta::indices

This variable holds the indices of the changed nodes. If all variables are being updated this vector is empty.

Definition at line 103 of file bound_delta.h.

This variable holds the new bounds of the changed nodes.

Definition at line 105 of file bound_delta.h.


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

Generated on Tue Feb 9 14:47:54 2010 for COCONUT API by  doxygen 1.5.8