cgv
Loading...
Searching...
No Matches
cgv::base::single_method_action_2< X, R, T1, T2 > Class Template Reference

complete implementation of method actions that only call one method when entering a node More...

#include <action.h>

Inheritance diagram for cgv::base::single_method_action_2< X, R, T1, T2 >:
cgv::base::method_action_2< X, T1, T2 > cgv::base::base_method_action< X > cgv::base::action

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
 
- Public Member Functions inherited from cgv::base::method_action_2< X, T1, T2 >
 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
 
- Public Member Functions inherited from cgv::base::base_method_action< X >
 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_policyget_policy () const
 simply return the stored pointer of type traverse_policy*
 
- Public Member Functions inherited from cgv::base::action
 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)
 
- Protected Attributes inherited from cgv::base::method_action_2< X, T1, T2 >
T1 v1
 
T2 v2
 
- Protected Attributes inherited from cgv::base::base_method_action< X >
traverse_policytp
 
X * x
 
- Protected Attributes inherited from cgv::base::action
bool default_result_begin
 
bool default_result_end
 

Detailed Description

template<class X, typename R, typename T1, typename T2>
class cgv::base::single_method_action_2< X, R, T1, T2 >

complete implementation of method actions that only call one method when entering a node

Definition at line 186 of file action.h.

Constructor & Destructor Documentation

◆ single_method_action_2()

template<class X , typename R , typename T1 , typename T2 >
cgv::base::single_method_action_2< X, R, T1, T2 >::single_method_action_2 ( T1  _v1,
T2  _v2,
R(X::*)(T1, T2 _on_begin,
bool  _default_result_begin = false,
bool  _default_result_end = false 
)
inline

construct from signature, method pointer and default result values

Definition at line 192 of file action.h.

Member Function Documentation

◆ begin()

template<class X , typename R , typename T1 , typename T2 >
bool cgv::base::single_method_action_2< X, R, T1, T2 >::begin ( )
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().

◆ has_begin_only()

template<class X , typename R , typename T1 , typename T2 >
bool cgv::base::single_method_action_2< X, R, T1, T2 >::has_begin_only ( ) const
inlinevirtual

check whether the action has registered a single begin method or both begin and end methods

Reimplemented from cgv::base::action.

Definition at line 198 of file action.h.

Member Data Documentation

◆ on_begin

template<class X , typename R , typename T1 , typename T2 >
R(X::* cgv::base::single_method_action_2< X, R, T1, T2 >::on_begin) (T1, T2)
protected

Definition at line 189 of file action.h.


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