21 (
reinterpret_cast< T*
>( e.
data() )->*
func_)();
33 void op(
const Eref& e, A arg )
const {
34 (
reinterpret_cast< T*
>( e.
data() )->*
func_)( arg );
40 template<
class T,
class A1,
class A2 >
class OpFunc2:
48 void op(
const Eref& e, A1 arg1, A2 arg2 )
const {
49 (
reinterpret_cast< T*
>( e.
data() )->*
func_)( arg1, arg2 );
56 template<
class T,
class A1,
class A2,
class A3 >
class OpFunc3:
60 OpFunc3(
void ( T::*func )( A1, A2, A3 ) )
63 void op(
const Eref& e, A1 arg1, A2 arg2, A3 arg3 )
const {
64 (
reinterpret_cast< T*
>( e.
data() )->*
func_)( arg1, arg2, arg3);
67 void ( T::*
func_ )( A1, A2, A3 );
70 template<
class T,
class A1,
class A2,
class A3,
class A4 >
class OpFunc4:
74 OpFunc4(
void ( T::*func )( A1, A2, A3, A4 ) )
78 void op(
const Eref& e, A1 arg1, A2 arg2, A3 arg3, A4 arg4 )
const {
79 (
reinterpret_cast< T*
>( e.
data() )->*
func_)(
80 arg1, arg2, arg3, arg4 );
84 void ( T::*
func_ )( A1, A2, A3, A4 );
87 template<
class T,
class A1,
class A2,
class A3,
class A4,
class A5 >
91 OpFunc5(
void ( T::*func )( A1, A2, A3, A4, A5 ) )
96 A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5 )
const {
97 (
reinterpret_cast< T*
>( e.
data() )->*
func_)(
98 arg1, arg2, arg3, arg4, arg5 );
102 void ( T::*
func_ )( A1, A2, A3, A4, A5 );
107 class A1,
class A2,
class A3,
class A4,
class A5,
class A6 >
111 OpFunc6(
void ( T::*func )( A1, A2, A3, A4, A5, A6 ) )
115 void op(
const Eref& e, A1 arg1, A2 arg2, A3 arg3, A4 arg4,
116 A5 arg5, A6 arg6 )
const {
117 (
reinterpret_cast< T*
>( e.
data() )->*
func_)(
118 arg1, arg2, arg3, arg4, arg5, arg6 );
122 void ( T::*
func_ )( A1, A2, A3, A4, A5, A6 );
141 void op(
const Eref& e, vector< A >* ret )
const {
146 return ( reinterpret_cast< T* >( e.
data() )->*
func_)();
188 assert( recvOpFunc );
194 return ( reinterpret_cast< T* >( e.
data() )->*
func_)( index );
void op(const Eref &e, vector< A > *ret) const
const OpFunc * getOpFunc(FuncId fid) const
OpFunc0(void(T::*func)())
void(T::* func_)(A1, A2, A3, A4, A5)
virtual void op(const Eref &e, A arg) const =0
void op(const Eref &e, A1 arg1, A2 arg2) const
void op(const Eref &e, A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5, A6 arg6) const
void op(const Eref &e, A1 arg1, A2 arg2, A3 arg3) const
void op(const Eref &e, A arg) const
OpFunc1(void(T::*func)(A))
OpFunc6(void(T::*func)(A1, A2, A3, A4, A5, A6))
void op(const Eref &e) const
A returnOp(const Eref &e) const
GetOpFunc(A(T::*func)() const )
OpFunc4(void(T::*func)(A1, A2, A3, A4))
void(T::* func_)(A1, A2, A3)
OpFunc5(void(T::*func)(A1, A2, A3, A4, A5))
const Cinfo * cinfo() const
Element * element() const
OpFunc2(void(T::*func)(A1, A2))
void op(const Eref &e, L index, ObjId recipient, FuncId fid) const
void(T::* func_)(A1, A2, A3, A4)
GetOpFunc1(A(T::*func)(L) const )
void op(const Eref &e, A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5) const
OpFunc3(void(T::*func)(A1, A2, A3))
void(T::* func_)(A1, A2, A3, A4, A5, A6)
A returnOp(const Eref &e, const L &index) const
Distinct reduceOp with the index.
void op(const Eref &e, A1 arg1, A2 arg2, A3 arg3, A4 arg4) const