Home
Install
Use
Develop
Support
News
Credits
hosted by
|
11#ifndef __MethodFunction_h
12#define __MethodFunction_h
14template< class C, class T, class Get, class Arg>
15class MethodGetFunction
22 typedef C* first_argument_type;
23 typedef T result_type;
25 MethodGetFunction (Get _get, Arg _arg)
31 T operator () (C* ptr)
33 return (ptr->*get) (arg);
36 const T operator () ( const C* ptr) const
38 return ( const_cast<C* >(ptr)->*get) (arg);
42template< class C, class T, class Arg>
43MethodGetFunction<C, T, T (C::*)(Arg), Arg>
44method_function (T (C::*get)(Arg), Arg arg)
46 return MethodGetFunction<C, T, T (C::*)(Arg), Arg> (get, arg);
49template< class C, class T, class Arg>
50MethodGetFunction<C, T, T (C::*)( const Arg&), Arg>
51method_function (T (C::*get)( const Arg&), Arg arg)
53 return MethodGetFunction<C, T, T (C::*)(const Arg&), Arg> (get, arg);
56template< class C, class T, class Arg>
57MethodGetFunction<C, T, T (C::*)( const Arg&) const, Arg>
58method_function (T (C::*get)( const Arg&) const, Arg arg)
60 return MethodGetFunction<C, T, T (C::*)(const Arg&) const, Arg> (get, arg);
63template< class C, class T, class Set, class Arg, class Value>
64class MethodSetFunction
71 typedef C* first_argument_type;
72 typedef Value second_argument_type;
74 MethodSetFunction (Set _set, Arg _arg)
80 void operator () (C* ptr, const Value& value)
82 (ptr->*set) (arg, value);
86template< class C, class T, class Arg>
87MethodSetFunction<C, T, void (C::*)(Arg, const T&), Arg, T>
88method_function ( void (C::*set)(Arg, const T&), const Arg& arg)
90 return MethodSetFunction<C, T, void (C::*)(Arg, const T&), Arg, T> (set, arg);
93template< class C, class T, class Arg>
94MethodSetFunction<C, T, void (C::*)(Arg, T), Arg, T>
95method_function ( void (C::*set)(Arg, T), const Arg& arg)
97 return MethodSetFunction<C, T, void (C::*)(Arg, T), Arg, T> (set, arg);
100template< class C, class T, class Arg>
101MethodSetFunction<C, T, void (C::*)( const Arg&, const T&), Arg, T>
102method_function ( void (C::*set)( const Arg&, const T&), const Arg& arg)
104 return MethodSetFunction<C, T, void (C::*)(const Arg&, const T&), Arg, T> (set, arg);
107template< class C, class T, class Arg>
108MethodSetFunction<C, T, void (C::*)( const Arg&, T), Arg, T>
109method_function ( void (C::*set)( const Arg&, T), const Arg& arg)
111 return MethodSetFunction<C, T, void (C::*)(const Arg&, T), Arg, T> (set, arg);
Generated using doxygen 1.14.0
|