#include <evaluator.h>
Public Types | |
typedef _Base::node_data_type | node_data_type |
typedef _Base::return_value | return_value |
typedef _Base::const_walker | const_walker |
typedef _Tp | data_type |
Public Member Functions | |
int | preorder (const node_data_type &__data) |
void | postorder (const node_data_type &__data) |
int | collect (const node_data_type &__data, const return_value &__rval) |
int | vcollect (const return_value &__rval) |
return_value | value () |
return_value | vvalue () |
void | vinit () |
virtual void | initialize () |
virtual int | initialize (const node_data_type &__data) |
virtual void | calculate (const node_data_type &__data) |
virtual void | cleanup (const node_data_type &__data) |
virtual int | update (const return_value &__rval) |
virtual int | update (const node_data_type &__data, const return_value &__rval) |
virtual return_value | calculate_value (bool eval_all) |
virtual int | preorder (const node_data_type &__data) |
virtual const_walker | short_cut_to (const node_data_type &__data) |
virtual int | vcollect (const return_value &__cresult) |
virtual int | collect (const node_data_type &__data, const return_value &__cresult) |
virtual void | postorder (const node_data_type &__data) |
Protected Attributes | |
_Tp | eval_data |
Definition at line 475 of file evaluator.h.
typedef _Base::const_walker coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::const_walker |
This is the type of the walker, which is used for the short-cuts.
Reimplemented from coco::evaluator_base< _Tp, _NData, _Result, _Walker >.
Definition at line 489 of file evaluator.h.
typedef _Tp coco::_evaluator_base< _Tp , _NData , _Result , _Walker >::data_type [inherited] |
The data_type specifies the type of the internal data of the evaluator.
Definition at line 305 of file evaluator.h.
typedef _Base::node_data_type coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::node_data_type |
The node_data_type is the datatype of the nodes of the graph.
Reimplemented from coco::evaluator_base< _Tp, _NData, _Result, _Walker >.
Definition at line 485 of file evaluator.h.
typedef _Base::return_value coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::return_value |
This type is the result type of the evaluator.
Reimplemented from coco::evaluator_base< _Tp, _NData, _Result, _Walker >.
Definition at line 487 of file evaluator.h.
virtual void coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::calculate | ( | const node_data_type & | __data | ) | [inline, virtual] |
This method is called right after all children of a node have been visited. The __data
parameter contains the node data of the graph node being visited.
Definition at line 547 of file evaluator.h.
virtual return_value coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::calculate_value | ( | bool | eval_all | ) | [inline, virtual] |
This method is called last for every graph node, and it produces the return value of the visitor. The parameter eval_all
is true
whether the node is a virtual node.
Definition at line 577 of file evaluator.h.
virtual void coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::cleanup | ( | const node_data_type & | __data | ) | [inline, virtual] |
The cleanup method is called just before calculate_value and should be used to clean up dynamically allocated data. The __data
parameter contains the node data of the graph node being visited.
Definition at line 551 of file evaluator.h.
virtual int coco::_evaluator_base< _Tp , _NData , _Result , _Walker >::collect | ( | const node_data_type & | __data, | |
const return_value & | __cresult | |||
) | [inline, virtual, inherited] |
This method is needed by a visitor (see VGTL documentation) and is called for each normal node everytime a child node has been visited passing the return value of the child. The return value has the following effect:
<0 | stop visiting children of this node, |
0 | continue with the graph walk downwards the next child, |
>0 | skip as many children. |
Definition at line 359 of file evaluator.h.
int coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::collect | ( | const node_data_type & | __data, | |
const return_value & | __rval | |||
) | [inline] |
This method is needed by a visitor (see VGTL documentation) and is called for each normal node everytime a child node has been visited passing the return value of the child. It is translated to a call to update.
Definition at line 506 of file evaluator.h.
virtual int coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::initialize | ( | const node_data_type & | __data | ) | [inline, virtual] |
This method is called at a normal node before any children are visited. The __data
parameter contains the node data of the graph node being visited. The return value determines how the graph walk proceeds.
<0 | perform a short-cut (the short_cut_to method will be called), |
0 | don't visit the children, proceed with postorder, |
>0 | continue with the walk by visiting the children. |
Definition at line 543 of file evaluator.h.
virtual void coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::initialize | ( | ) | [inline, virtual] |
This method is called at a virtual node before any children are visited.
Definition at line 532 of file evaluator.h.
virtual void coco::_evaluator_base< _Tp , _NData , _Result , _Walker >::postorder | ( | const node_data_type & | __data | ) | [inline, virtual, inherited] |
This method is needed by a visitor (see VGTL documentation) and is called right after all children of a node have been visited.
Definition at line 364 of file evaluator.h.
void coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::postorder | ( | const node_data_type & | __data | ) | [inline] |
This method is needed by a visitor (see VGTL documentation) and is called right after all children of a node have been visited. It is translated into calls to calculate and cleanup.
Definition at line 500 of file evaluator.h.
virtual int coco::evaluator_base< _Tp , _NData , _Result , _Walker >::preorder | ( | const node_data_type & | __data | ) | [inline, virtual, inherited] |
This method is needed by a visitor (see VGTL documentation) and is called right before any children of a node are visited. The return value of the method influences the further graph walk:
<0 | perform a short-cut (the short_cut_to method will be called), |
0 | don't visit the children, proceed with postorder, |
>0 | continue with the walk by visiting the children. |
Definition at line 401 of file evaluator.h.
int coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::preorder | ( | const node_data_type & | __data | ) | [inline] |
This method is needed by a visitor (see VGTL documentation) and is called right before any children of a node are visited. It is translated into a call to initialize.
Definition at line 495 of file evaluator.h.
virtual const_walker coco::evaluator_base< _Tp , _NData , _Result , _Walker >::short_cut_to | ( | const node_data_type & | __data | ) | [inline, virtual, inherited] |
The short_cut_to method is called whenever a short-cut is signalled during the graph walk, and the const_walker
returned is the target of the short-cut.
Definition at line 405 of file evaluator.h.
virtual int coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::update | ( | const node_data_type & | __data, | |
const return_value & | __rval | |||
) | [inline, virtual] |
The update method is called for each virtual node everytime a child node has been visited passing the return value of the child. The __data
parameter contains the node data of the graph node being visited. The return value has the following effect:
<0 | stop visiting children of this node, |
0 | continue with the graph walk downwards the next child, |
>0 | skip as many children. |
Definition at line 572 of file evaluator.h.
virtual int coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::update | ( | const return_value & | __rval | ) | [inline, virtual] |
The update method is called for each virtual node everytime a child node has been visited passing the return value of the child. The return value has the following effect:
<0 | stop visiting children of this node, |
0 | continue with the graph walk downwards the next child, |
>0 | skip as many children. |
Definition at line 561 of file evaluator.h.
return_value coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::value | ( | ) | [inline, virtual] |
This method is needed by a visitor (see VGTL documentation) and is called right before the end of the visit of a normal node to retrieve the return value. It is translated to a call to calculate_value with parameter false
.
Reimplemented from coco::_evaluator_base< _Tp,_NData,_Result,_Walker >.
Definition at line 518 of file evaluator.h.
virtual int coco::_evaluator_base< _Tp , _NData , _Result , _Walker >::vcollect | ( | const return_value & | __cresult | ) | [inline, virtual, inherited] |
This method is needed by a visitor (see VGTL documentation) and is called for each virtual node everytime a child node has been visited passing the return value of the child. The return value has the following effect:
<0 | stop visiting children of this node, |
0 | continue with the graph walk downwards the next child, |
>0 | skip as many children. |
Definition at line 348 of file evaluator.h.
int coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::vcollect | ( | const return_value & | __rval | ) | [inline] |
This method is needed by a visitor (see VGTL documentation) and is called for each virtual node everytime a child node has been visited passing the return value of the child. It is translated to a call to update.
Definition at line 512 of file evaluator.h.
void coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::vinit | ( | ) | [inline] |
This method is needed by a visitor using recursive_short_cut_walk for traversing the graph. It is called before performing any graph walk when at a virtual node. It is translated to initialize.
Definition at line 527 of file evaluator.h.
return_value coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker >::vvalue | ( | ) | [inline, virtual] |
This method is needed by a visitor (see VGTL documentation) and is called right before the end of the visit of a virtual node to retrieve the return value. It is translated to a call to calculate_value with parameter true
.
Reimplemented from coco::_evaluator_base< _Tp,_NData,_Result,_Walker >.
Definition at line 523 of file evaluator.h.
_Tp coco::_evaluator_base< _Tp , _NData , _Result , _Walker >::eval_data [protected, inherited] |
The internal data of the evaluator
Definition at line 316 of file evaluator.h.