coco::annotation_undelta Class Reference

the undelta class for annotation changes More...

#include <annotation_delta.h>

Inheritance diagram for coco::annotation_undelta:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

 annotation_undelta (const std::vector< annotation > &__a, const std::vector< annotation > &__r)
 annotation_undelta (const std::vector< annotation > &__a)
 annotation_undelta (const annotation &__a)
 annotation_undelta (const annotation_undelta &__d)
annotation_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

std::vector< annotationadded_ann
std::vector< annotationremoved_ann

Friends

class annotation_delta


Detailed Description

The annotation_undelta class describes the unapply information for changes to the annotation structure in the work_node.

Definition at line 40 of file annotation_delta.h.


Constructor & Destructor Documentation

coco::annotation_undelta::annotation_undelta ( const std::vector< annotation > &  __a,
const std::vector< annotation > &  __r 
) [inline]

constructor explicitly specifying the lists __a of added annotations and __r of removed annotations

Definition at line 51 of file annotation_delta.h.

coco::annotation_undelta::annotation_undelta ( const std::vector< annotation > &  __a  )  [inline]

constructor explicitly specifying the lists __a of added annotations, keeping the removed annotations empty

Definition at line 58 of file annotation_delta.h.

coco::annotation_undelta::annotation_undelta ( const annotation __a  )  [inline]

constructor for a single added annotation

Definition at line 63 of file annotation_delta.h.

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

standard copy constructor

Definition at line 68 of file annotation_delta.h.


Member Function Documentation

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

clone destructor

Definition at line 80 of file annotation_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.

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

cloning operation

Reimplemented from coco::undelta_base.

Definition at line 78 of file annotation_delta.h.

bool coco::annotation_undelta::unapply ( work_node _x,
const delta_id _did 
) const [virtual]

unapply operation: undoing the delta with identity _did from work_node _x

Reimplemented from coco::undelta_base.

Definition at line 62 of file annotation_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 annotation_delta [friend]

Definition at line 86 of file annotation_delta.h.


Member Data Documentation

these are the annotations added by the corresponding annotation_delta

Definition at line 44 of file annotation_delta.h.

these are the annotations removed by the corresponding annotation_delta

Definition at line 46 of file annotation_delta.h.


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

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