Ice 3.7 C++11 API Reference
Functional.h
Go to the documentation of this file.
1 //
2 // Copyright (c) ZeroC, Inc. All rights reserved.
3 //
4 
5 #ifndef ICE_FUNCTIONAL_H
6 #define ICE_FUNCTIONAL_H
7 
8 #include <IceUtil/Config.h>
9 
10 #if !defined(ICE_CPP11_MAPPING) && (ICE_CPLUSPLUS < 201703L)
11 
12 #include <IceUtil/Functional.h>
13 #include <Ice/Handle.h>
14 
15 // ----------------------------------------------------------------------
16 // Inline functions that return function objects that work with
17 // IceInternal::Handle
18 // ----------------------------------------------------------------------
19 
20 namespace Ice
21 {
22 
24 template<class R, class T>
25 inline ::IceUtilInternal::MemFun<R, T, ICE_INTERNAL_HANDLE<T> >
26 memFun(R (T::*p)(void))
27 {
28  return ::IceUtilInternal::MemFun<R, T, ICE_INTERNAL_HANDLE<T> >(p);
29 }
30 
31 template<class R, class T, class A>
32 inline ::IceUtilInternal::MemFun1<R, T, ICE_INTERNAL_HANDLE<T>, A>
33 memFun1(R (T::*p)(A))
34 {
35  return ::IceUtilInternal::MemFun1<R, T, ICE_INTERNAL_HANDLE<T>, A>(p);
36 }
37 
38 template<class T>
39 inline ::IceUtilInternal::VoidMemFun<T, ICE_INTERNAL_HANDLE<T> >
40 voidMemFun(void (T::*p)(void))
41 {
42  return ::IceUtilInternal::VoidMemFun<T, ICE_INTERNAL_HANDLE<T> >(p);
43 }
44 
45 template<class T, class A>
46 inline ::IceUtilInternal::VoidMemFun1<T, ICE_INTERNAL_HANDLE<T>, A>
47 voidMemFun1(void (T::*p)(A))
48 {
49  return ::IceUtilInternal::VoidMemFun1<T, ICE_INTERNAL_HANDLE<T>, A>(p);
50 }
51 
52 template<class R, class K, class T>
53 inline ::IceUtilInternal::SecondMemFun<R, K, T, ICE_INTERNAL_HANDLE<T> >
54 secondMemFun(R (T::*p)(void))
55 {
56  return ::IceUtilInternal::SecondMemFun<R, K, T, ICE_INTERNAL_HANDLE<T> >(p);
57 }
58 
59 template<class R, class K, class T, class A>
60 inline ::IceUtilInternal::SecondMemFun1<R, K, T, ICE_INTERNAL_HANDLE<T>, A>
61 secondMemFun1(R (T::*p)(A))
62 {
63  return ::IceUtilInternal::SecondMemFun1<R, K, T, ICE_INTERNAL_HANDLE<T>, A>(p);
64 }
65 
66 template<class K, class T>
67 inline ::IceUtilInternal::SecondVoidMemFun<K, T, ICE_INTERNAL_HANDLE<T> >
68 secondVoidMemFun(void (T::*p)(void))
69 {
70  return ::IceUtilInternal::SecondVoidMemFun<K, T, ICE_INTERNAL_HANDLE<T> >(p);
71 }
72 
73 template<class K, class T, class A>
74 inline ::IceUtilInternal::SecondVoidMemFun1<K, T, ICE_INTERNAL_HANDLE<T>, A>
75 secondVoidMemFun1(void (T::*p)(A))
76 {
77  return ::IceUtilInternal::SecondVoidMemFun1<K, T, ICE_INTERNAL_HANDLE<T>, A>(p);
78 }
79 
80 template<class R, class T>
81 inline ::IceUtilInternal::ConstMemFun<R, T, ICE_INTERNAL_HANDLE<T> >
82 constMemFun(R (T::*p)(void) const)
83 {
84  return ::IceUtilInternal::ConstMemFun<R, T, ICE_INTERNAL_HANDLE<T> >(p);
85 }
86 
87 template<class R, class T, class A>
88 inline ::IceUtilInternal::ConstMemFun1<R, T, ICE_INTERNAL_HANDLE<T>, A>
89 constMemFun1(R (T::*p)(A) const)
90 {
91  return ::IceUtilInternal::ConstMemFun1<R, T, ICE_INTERNAL_HANDLE<T>, A>(p);
92 }
93 
94 template<class T>
95 inline ::IceUtilInternal::ConstVoidMemFun<T, ICE_INTERNAL_HANDLE<T> >
96 constVoidMemFun(void (T::*p)(void) const)
97 {
98  return ::IceUtilInternal::ConstVoidMemFun<T, ICE_INTERNAL_HANDLE<T> >(p);
99 }
100 
101 template<class T, class A>
102 inline ::IceUtilInternal::ConstVoidMemFun1<T, ICE_INTERNAL_HANDLE<T>, A>
103 constVoidMemFun1(void (T::*p)(A) const)
104 {
105  return ::IceUtilInternal::ConstVoidMemFun1<T, ICE_INTERNAL_HANDLE<T>, A>(p);
106 }
107 
108 template<class R, class K, class T>
109 inline ::IceUtilInternal::SecondConstMemFun<R, K, T, ICE_INTERNAL_HANDLE<T> >
110 secondConstMemFun(R (T::*p)(void) const)
111 {
112  return ::IceUtilInternal::SecondConstMemFun<R, K, T, ICE_INTERNAL_HANDLE<T> >(p);
113 }
114 
115 template<class R, class K, class T, class A>
116 inline ::IceUtilInternal::SecondConstMemFun1<R, K, T, ICE_INTERNAL_HANDLE<T>, A>
117 secondConstMemFun1(R (T::*p)(A) const)
118 {
119  return ::IceUtilInternal::SecondConstMemFun1<R, K, T, ICE_INTERNAL_HANDLE<T>, A>(p);
120 }
121 
122 template<class K, class T>
123 inline ::IceUtilInternal::SecondConstVoidMemFun<K, T, ICE_INTERNAL_HANDLE<T> >
124 secondConstVoidMemFun(void (T::*p)(void) const)
125 {
126  return ::IceUtilInternal::SecondConstVoidMemFun<K, T, ICE_INTERNAL_HANDLE<T> >(p);
127 }
128 
129 template<class K, class T, class A>
130 inline ::IceUtilInternal::SecondConstVoidMemFun1<K, T, ICE_INTERNAL_HANDLE<T>, A>
131 secondConstVoidMemFun1(void (T::*p)(A) const)
132 {
133  return ::IceUtilInternal::SecondConstVoidMemFun1<K, T, ICE_INTERNAL_HANDLE<T>, A>(p);
134 }
136 
137 }
138 
139 # endif
140 #endif
Handle.h
Functional.h
Config.h
Ice
Definition: BuiltinSequences.h:56