yasmine
assembly_cpp03.hpp
Go to the documentation of this file.
1 // //
3 // This file is part of the Seadex yasmine ecosystem (http://yasmine.seadex.de). //
4 // Copyright (C) 2016-2017 Seadex GmbH //
5 // //
6 // Licensing information is available in the folder "license" which is part of this distribution. //
7 // The same information is available on the www @ http://yasmine.seadex.de/Licenses.html. //
8 // //
10 
11 
12 #ifndef ASSEMBLY_CPP03_59BF4ABA_7F2D_4E58_AD8D_782FDD624770
13 #define ASSEMBLY_CPP03_59BF4ABA_7F2D_4E58_AD8D_782FDD624770
14 
15 
16 #ifdef SX_CPP03_BOOST
17 
18 #include "essentials/macro_helpers.hpp"
19 
20 #include "assembly_common.hpp"
21 
22 
23 #define Y_BEHAVIOR_METHOD( _class_name, _method_name ) Y_BEHAVIOR_METHOD_SELECT_2( _class_name, _method_name )
24 #define Y_BEHAVIOR_METHOD_NO_EVENT( _class_name, _method_name ) Y_BEHAVIOR_METHOD_NO_EVENT_SELECT_2( _class_name, _method_name )
25 #define Y_GUARD_METHOD( _class_name, _method_name ) Y_GUARD_METHOD_SELECT_2( _class_name, _method_name )
26 #define Y_GUARD_METHOD_NO_EVENT( _class_name, _method_name ) Y_GUARD_METHOD_NO_EVENT_SELECT_2( _class_name, _method_name )
27 
29 #define Y_BEHAVIOR_METHOD_SELECT_2( _class_name, _method_name ) \
30  sxy::behavior_function( sxe::bind( &_class_name::_method_name, this, sxe::_1 ) )
31 
33 #define Y_BEHAVIOR_METHOD_NO_EVENT_SELECT_2( _class_name, _method_name ) \
34  sxy::behavior_function( sxe::bind( &_class_name::_method_name, this ) )
35 
36 #define Y_GUARD_METHOD_SELECT_2( _class_name, _method_name ) \
37  sxy::constraint_function( sxe::bind( &_class_name::_method_name, this, sxe::_1 ) )
38 
40 #define Y_GUARD_METHOD_NO_EVENT_SELECT_2( _class_name, _method_name ) \
41  sxy::constraint_function( sxe::bind (&_class_name::_method_name, this ) )
42 
44 #define Y_GUARD_FUNCTION( _function_name ) \
45  sxy::constraint_function( sxe::bind( &_function_name, sxe::_1 ) )
46 
48 #define Y_GUARD_FUNCTION_NO_EVENT( _function_name ) \
49  sxy::constraint_function( sxe::bind( &_function_name ) )
50 
52 #define Y_BEHAVIOR_FUNCTION( _function_name ) \
53  sxy::behavior_function( sxe::bind( &_function_name, sxe::_1 ) )
54 
56 #define Y_BEHAVIOR_FUNCTION_NO_EVENT( _function_name ) \
57  sxy::behavior_function( sxe::bind( &_function_name ) )
58 
59 
60 #define Y_BEHAVIOR_METHOD2 Y_BEHAVIOR_METHOD2_SELECT_1
61 #define Y_GUARD_METHOD2 Y_GUARD_METHOD2_SELECT_1
62 #define Y_BEHAVIOR_FUNCTION2 Y_BEHAVIOR_FUNCTION2_SELECT_1
63 #define Y_GUARD_FUNCTION2 Y_GUARD_FUNCTION2_SELECT_1
64 
65 
66 #endif // SX_CPP03_BOOST
67 
68 
69 
70 
71 
72 #endif // include guard