#include <api_deltabase.h>
Public Member Functions | |
delta_base () | |
delta_base (const std::string &a) | |
delta_base (const char *a) | |
delta_base (const delta_base &__d) | |
virtual delta_base * | new_copy () const PURE_VIRTUALvirtual void destroy_copy(delta_base *__d) const PURE_VIRTUALvirtual~delta_base() |
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 | apply (work_node &_x, undelta_base *&_u, const delta_id &_d) const |
virtual bool | apply3 (work_node &_x, const work_node &_y, undelta_base *&_u, const delta_id &_d) const |
Protected Attributes | |
std::string | _action |
Definition at line 150 of file api_deltabase.h.
coco::delta_base::delta_base | ( | ) | [inline] |
Standard Constructor
Definition at line 158 of file api_deltabase.h.
coco::delta_base::delta_base | ( | const std::string & | a | ) | [inline] |
Constructor, explicitly setting the action to a
Definition at line 160 of file api_deltabase.h.
coco::delta_base::delta_base | ( | const char * | a | ) | [inline] |
Constructor, explicitly setting the action to a
Definition at line 162 of file api_deltabase.h.
coco::delta_base::delta_base | ( | const delta_base & | __d | ) | [inline] |
Standard Copy Constructor, which is usually not used.
Definition at line 164 of file api_deltabase.h.
virtual bool coco::delta_base::apply | ( | work_node & | _x, | |
undelta_base *& | _u, | |||
const delta_id & | _d | |||
) | const [inline, virtual] |
Apply the delta with delta_id _d
to work node _x
. In this process the undo information for this delta is stored in _u
.
Reimplemented in coco::annotation_delta, coco::bound_delta, coco::boxes_delta, coco::dag_delta, coco::infeasible_delta, coco::point_delta, coco::semantics_delta, coco::split_delta, and coco::table_delta.
Definition at line 198 of file api_deltabase.h.
bool coco::delta_base::apply3 | ( | work_node & | _x, | |
const work_node & | _y, | |||
undelta_base *& | _u, | |||
const delta_id & | _d | |||
) | const [inline, virtual] |
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] |
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.
const std::string& coco::delta_base::get_action | ( | ) | const [inline] |
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] |
Construct a delta from this delta_base with the action a
.
Definition at line 175 of file api_deltabase.h.
virtual delta_base* coco::delta_base::new_copy | ( | ) | const [inline, virtual] |
Clone Operation, which can be overloaded Clone Destructor Standard Destructor
Reimplemented in coco::annotation_delta, coco::bound_delta, coco::boxes_delta, coco::dag_delta, coco::infeasible_delta, coco::point_delta, coco::semantics_delta, coco::split_delta, and coco::table_delta.
Definition at line 167 of file api_deltabase.h.
virtual void coco::delta_base::unkeep | ( | ) | [inline, virtual] |
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.
std::string coco::delta_base::_action [protected] |
The action (type) of this delta
Definition at line 154 of file api_deltabase.h.