cgv
|
complete implementation of method actions that only call one method when entering a node More...
#include <action.h>
Public Member Functions | |
single_method_action_2 (T1 _v1, T2 _v2, R(X::*_on_begin)(T1, T2), bool _default_result_begin=false, bool _default_result_end=false) | |
construct from signature, method pointer and default result values | |
bool | begin () |
uses call_method of base class method_action to call the method refered to by the stored method pointer | |
bool | has_begin_only () const |
check whether the action has registered a single begin method or both begin and end methods | |
![]() | |
method_action_2 (T1 _v1, T2 _v2, bool _default_result_begin, bool _default_result_end) | |
construct action from signature and default return values | |
void | set_signature (T1 _v1, T2 _v2) |
set a new signature with which the methods of the traversed nodes are called | |
bool | call_method (void(X::*mp)(T1, T2), bool default_result) |
call a void method given a default return value | |
bool | call_method (bool(X::*mp)(T1, T2), bool default_result) |
call a bool method given a default return value | |
![]() | |
base_method_action (bool _default_result_begin, bool _default_result_end) | |
construct from default return values that are passed on to the base class | |
void | select (base_ptr p) |
implement the select method and store pointers of type X* and traverse_policy* | |
bool | implements_action () const |
simply return whether the stored pointer of type X* is not 0 | |
traverse_policy * | get_policy () const |
simply return the stored pointer of type traverse_policy* | |
![]() | |
action (bool _default_result_begin, bool _default_result_end) | |
construct with default return values for the begin and end method | |
void | set_default_results (bool _default_result) |
sets the value that is returned, whenever no result is obtained from the traversed methods | |
void | set_default_result_begin (bool _default_result_begin) |
sets the value that is returned for on_begin events | |
void | set_default_result_end (bool _default_result_end) |
sets the value that is returned for on_end events | |
virtual bool | end () |
perform the leave part of the action on the current object | |
Protected Attributes | |
R(X::* | on_begin )(T1, T2) |
![]() | |
T1 | v1 |
T2 | v2 |
![]() | |
traverse_policy * | tp |
X * | x |
![]() | |
bool | default_result_begin |
bool | default_result_end |
complete implementation of method actions that only call one method when entering a node
|
inlinevirtual |
uses call_method of base class method_action to call the method refered to by the stored method pointer
Reimplemented from cgv::base::action.
Definition at line 196 of file action.h.
References cgv::base::method_action_2< X, T1, T2 >::call_method().
|
inlinevirtual |
check whether the action has registered a single begin method or both begin and end methods
Reimplemented from cgv::base::action.
|
protected |