coco::full_node Class Reference
[Search Graph]

Class holding the full nodes in the search graph. More...

#include <search_node.h>

Inheritance diagram for coco::full_node:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

 full_node (const search_node_id &_i, const vdbl::userid &_dui, gptr< model > &__mod, gptr< search_node > &_gm, gptr< vdbl::database > &_db, search_node_relation _snr=snr_reduction)
 full_node (const search_node_id &_i, const vdbl::userid &_dui, gptr< model > &__mod, gptr< search_node > &_gm, gptr< vdbl::database > &_db, const std::vector< annotation > &_a, search_node_relation _snr=snr_reduction)
 full_node (const full_node &_i)
virtual ~full_node ()
full_nodeoperator= (const full_node &__w)
bool is_delta () const
unsigned int n_annotations () const
const annotationget_annotation (unsigned int i) const
const std::vector< annotation > & get_annotations () const
const modelget_model () const
const vdbl::database * get_database () const
modelget_model_ptr () const
vdbl::database * get_database_ptr () const
vdbl::userid get_dbuserid () const
gptr< search_node > * global_model () const
gptr< vdbl::database > * database () const
search_node_id get_id () const
void set_id (const search_node_id &i)
vdbl::rowid get_rowid () const
void set_rowid (const vdbl::rowid &i)
void keep (const annotation &_an)
void keep (const std::vector< annotation > &_anv)
void unkeep (const annotation &_an)
void unkeep (const std::vector< annotation > &_anv)

Public Attributes

std::vector< annotation_ann

Protected Member Functions

 full_node (const search_node_id &_i, const vdbl::userid &_dui, gptr< model > &__mod, gptr< search_node > *_gm, gptr< vdbl::database > &_db, search_node_relation _snr=snr_reduction)
 full_node (const search_node_id &_i, const vdbl::userid &_dui, gptr< model > &__mod, gptr< search_node > *_gm, gptr< vdbl::database > &_db, const std::vector< annotation > &_a, search_node_relation _snr=snr_reduction)
search_node_relation parent_relation () const

Protected Attributes

gptr< model > * _m
gptr< search_node > * __global_model
gptr< vdbl::database > * __dbase
vdbl::userid _dbuser
search_node_relation _snr
search_node_id _id
std::vector< annotation_keep
vdbl::rowid _rid

Friends

class delta_base
class certificate_base
class dag_delta
class dag_undelta
class search_graph


Detailed Description

This is a class of nodes stored in the search graph. It represents a full node, i.e., a node which stores a complete model not just changes to the parent model.

Definition at line 278 of file search_node.h.


Constructor & Destructor Documentation

coco::full_node::full_node ( const search_node_id _i,
const vdbl::userid &  _dui,
gptr< model > &  __mod,
gptr< search_node > *  _gm,
gptr< vdbl::database > &  _db,
search_node_relation  _snr = snr_reduction 
) [inline, protected]

This constructor generates a new full node (a reduction node by default) with search_node_id i and search_node_relation __snr. The parameter __mod is used to specify the full model, while the parameters _gm, _db, and _dui initialize the global model, search database, and the database user id, respectively. The vector of annotations is initialized as empty vector.

Definition at line 299 of file search_node.h.

coco::full_node::full_node ( const search_node_id _i,
const vdbl::userid &  _dui,
gptr< model > &  __mod,
gptr< search_node > *  _gm,
gptr< vdbl::database > &  _db,
const std::vector< annotation > &  _a,
search_node_relation  _snr = snr_reduction 
) [inline, protected]

This constructor generates a new full node (a reduction node by default) with search_node_id i and search_node_relation __snr. The parameter __mod is used to specify the full model, while the parameters _gm, _db, and _dui initialize the global model, search database, and the database user id, respectively. The vector of annotations is initialized by the parameter _a.

Definition at line 312 of file search_node.h.

coco::full_node::full_node ( const search_node_id _i,
const vdbl::userid &  _dui,
gptr< model > &  __mod,
gptr< search_node > &  _gm,
gptr< vdbl::database > &  _db,
search_node_relation  _snr = snr_reduction 
) [inline]

This constructor generates a new full node (a reduction node by default) with search_node_id i and search_node_relation __snr. The parameter __mod is used to specify the full model, while the parameters _gm, _db, and _dui initialize the global model, search database, and the database user id, respectively. The vector of annotations is initialized as empty vector.

Definition at line 327 of file search_node.h.

coco::full_node::full_node ( const search_node_id _i,
const vdbl::userid &  _dui,
gptr< model > &  __mod,
gptr< search_node > &  _gm,
gptr< vdbl::database > &  _db,
const std::vector< annotation > &  _a,
search_node_relation  _snr = snr_reduction 
) [inline]

This constructor generates a new full node (a reduction node by default) with search_node_id i and search_node_relation __snr. The parameter __mod is used to specify the full model, while the parameters _gm, _db, and _dui initialize the global model, search database, and the database user id, respectively. The vector of annotations is initialized by the parameter _a.

Definition at line 340 of file search_node.h.

coco::full_node::full_node ( const full_node _i  )  [inline]

Standard copy constructor

Definition at line 348 of file search_node.h.

virtual coco::full_node::~full_node (  )  [inline, virtual]

Standard Destructor

Definition at line 353 of file search_node.h.


Member Function Documentation

gptr<vdbl::database>* coco::search_node::database (  )  const [inline, inherited]

This is the accessor method for the search database.

Definition at line 164 of file search_node.h.

const annotation& coco::full_node::get_annotation ( unsigned int  i  )  const [inline]

A call to this method returns a const reference to the ith annotation.

Definition at line 369 of file search_node.h.

const std::vector<annotation>& coco::full_node::get_annotations (  )  const [inline]

A call to this method returns a const reference to the whole vector of annotations.

Definition at line 374 of file search_node.h.

const vdbl::database* coco::full_node::get_database (  )  const [inline]

This method returns a const pointer pointing to a locally stored copy of the search database.

Bug:
This method needs to be replaced, once the COCONUT environment really gets distributed.

Definition at line 385 of file search_node.h.

vdbl::database* coco::full_node::get_database_ptr (  )  const [inline]

This method returns a const pointer pointing to a locally stored copy of the search database.

Bug:
This method needs to be replaced, once the COCONUT environment really gets distributed.

Definition at line 396 of file search_node.h.

vdbl::userid coco::search_node::get_dbuserid (  )  const [inline, inherited]

This is the accessor method for the database user id.

Definition at line 158 of file search_node.h.

search_node_id coco::search_node::get_id (  )  const [inline, inherited]

This is the accessor method for the search node id of this node.

Definition at line 167 of file search_node.h.

const model* coco::full_node::get_model (  )  const [inline]

This method returns a const pointer pointing to a locally stored copy of the model stored in this full node.

Reimplemented in coco::work_node.

Definition at line 379 of file search_node.h.

model* coco::full_node::get_model_ptr (  )  const [inline]

This method returns a pointer pointing to a locally stored copy of the model stored in this full node.

Definition at line 390 of file search_node.h.

vdbl::rowid coco::search_node::get_rowid (  )  const [inline, inherited]

This is the accessor method for the row id of this node.

Definition at line 173 of file search_node.h.

gptr<search_node>* coco::search_node::global_model (  )  const [inline, inherited]

This is the accessor method for the global model.

Definition at line 161 of file search_node.h.

bool coco::full_node::is_delta (  )  const [inline, virtual]

This method is called to determine whether a search node stores only deltas (delta_node) or a full model (full_node). In case of a full_node it returns false.

Reimplemented from coco::search_node.

Definition at line 361 of file search_node.h.

void coco::search_node::keep ( const std::vector< annotation > &  _anv  )  [inline, inherited]

A call to this method informs the search node to be the keeper of all the annotations in _anv.

Definition at line 184 of file search_node.h.

void coco::search_node::keep ( const annotation _an  )  [inline, inherited]

A call to this method informs the search node to be the keeper of the annotation _an.

Definition at line 180 of file search_node.h.

unsigned int coco::full_node::n_annotations (  )  const [inline]

This method returns the number of annotations stored in this full node.

Definition at line 365 of file search_node.h.

full_node & coco::full_node::operator= ( const full_node __w  )  [inline]

Standard Assignment Operator

Reimplemented in coco::work_node.

Definition at line 207 of file search_node.hpp.

search_node_relation coco::search_node::parent_relation (  )  const [inline, protected, inherited]

A call to this method returns the relation of this node to its parent in the search graph.

Definition at line 117 of file search_node.h.

void coco::search_node::set_id ( const search_node_id i  )  [inline, inherited]

This is the set method for the search node id of this node.

Definition at line 170 of file search_node.h.

void coco::search_node::set_rowid ( const vdbl::rowid &  i  )  [inline, inherited]

This is the set method for the row id of this node.

Definition at line 176 of file search_node.h.

void coco::search_node::unkeep ( const std::vector< annotation > &  _anv  )  [inline, inherited]

A call to this method informs the search node to no longer be the keeper of all the annotations in _anv.

Definition at line 93 of file search_node.hpp.

void coco::search_node::unkeep ( const annotation _an  )  [inline, inherited]

A call to this method informs the search node to no longer be the keeper of the annotation _an.

Definition at line 82 of file search_node.hpp.


Friends And Related Function Documentation

friend class certificate_base [friend]

Definition at line 400 of file search_node.h.

friend class dag_delta [friend]

Definition at line 401 of file search_node.h.

friend class dag_undelta [friend]

Definition at line 402 of file search_node.h.

friend class delta_base [friend]

Definition at line 399 of file search_node.h.

friend class search_graph [friend, inherited]

Definition at line 195 of file search_node.h.


Member Data Documentation

gptr<vdbl::database>* coco::search_node::__dbase [protected, inherited]

This is a pointer to a global pointer to the search database associated to this search graph.

Definition at line 96 of file search_node.h.

This is a pointer to a global pointer to the top of the search graph. It is NULL for a standalone node or the top of the graph.

Definition at line 93 of file search_node.h.

This is the vector of annotations active at this full node.

Definition at line 290 of file search_node.h.

vdbl::userid coco::search_node::_dbuser [protected, inherited]

This member stores the database user id under which this search is performed. For the in-memory database this is irrelevant.

Definition at line 99 of file search_node.h.

search_node_id coco::search_node::_id [protected, inherited]

This is the unique identifier of this search node.

Definition at line 104 of file search_node.h.

std::vector<annotation> coco::search_node::_keep [protected, inherited]

The _keep member is a list of all those annotations which are kept by this search node. If the node is destroyed all kept annotations are removed from the search database.

Definition at line 108 of file search_node.h.

This is a pointer to a global pointer to the model kept in this full node.

Definition at line 286 of file search_node.h.

vdbl::rowid coco::search_node::_rid [protected, inherited]

This row id specifies the row in the search info table where the hook information for this search_node is stored

Definition at line 112 of file search_node.h.

This member specifies the relation of the search node to its parent(s) in the search graph.

Definition at line 102 of file search_node.h.


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

Generated on Tue Feb 9 14:49:59 2010 for COCONUT API by  doxygen 1.5.8