MyGUI 3.4.2
MyGUI_EventPair.h
Go to the documentation of this file.
1/*
2 * This source file is part of MyGUI. For the latest info, see http://mygui.info/
3 * Distributed under the MIT License
4 * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
5 */
6
7#ifndef MYGUI_EVENT_PAIR_H_
8#define MYGUI_EVENT_PAIR_H_
9
10#include "MyGUI_Prerequest.h"
11
12namespace MyGUI
13{
14
15 template <typename EventObsolete, typename Event>
17 {
18 public:
19
20 template <typename T>
21 MYGUI_OBSOLETE("use : signature : Event::IDelegate * _delegate")
23 {
25 m_event = nullptr;
26 }
27
28 MYGUI_OBSOLETE("use : operator += ")
29 void operator = (typename Event::IDelegate* _delegate)
30 {
31 m_eventObsolete = nullptr;
33 }
34
35 template <typename T>
36 MYGUI_OBSOLETE("use : signature : Event::IDelegate * _delegate")
38 {
40 m_event.clear();
41 }
42
43 void operator += (typename Event::IDelegate* _delegate)
44 {
45 m_eventObsolete.clear();
47 }
48
49 template <typename T>
50 MYGUI_OBSOLETE("use : signature : Event::IDelegate * _delegate")
52 {
54 m_event.clear();
55 }
56
57 void operator -= (typename Event::IDelegate* _delegate)
58 {
59 m_eventObsolete.clear();
61 }
62
63 template <typename TP1>
65 {
67 m_event(p1);
68 }
69
70 template <typename TP1, typename TP2>
72 {
74 m_event(p1, p2);
75 }
76
77 template <typename TP1, typename TP2, typename TP3>
79 {
81 m_event(p1, p2, p3);
82 }
83
84 template <typename TP1, typename TP2, typename TP3, typename TP4>
86 {
88 m_event(p1, p2, p3, p4);
89 }
90
91 template <typename TP1, typename TP2, typename TP3, typename TP4, typename TP5>
93 {
95 m_event(p1, p2, p3, p4, p5);
96 }
97
98 template <typename TP1, typename TP2, typename TP3, typename TP4, typename TP5, typename TP6>
100 {
101 m_eventObsolete(p1, p2, p3, p4, p5, p6);
102 m_event(p1, p2, p3, p4, p5, p6);
103 }
104
105 template <typename TP1, typename TP2, typename TP3, typename TP4, typename TP5, typename TP6, typename TP7>
107 {
108 m_eventObsolete(p1, p2, p3, p4, p5, p6, p7);
109 m_event(p1, p2, p3, p4, p5, p6, p7);
110 }
111
112 template <typename TP1, typename TP2, typename TP3, typename TP4, typename TP5, typename TP6, typename TP7, typename TP8>
114 {
115 m_eventObsolete(p1, p2, p3, p4, p5, p6, p7, p8);
116 m_event(p1, p2, p3, p4, p5, p6, p7, p8);
117 }
118
119 bool empty() const
120 {
121 return m_eventObsolete.empty() && m_event.empty();
122 }
123
124 public:
126 Event m_event;
127 };
128
129 template <typename EventObsolete, typename Event>
131 {
132 public:
133
134 template <typename T>
135 MYGUI_OBSOLETE("use : signature : Event::IDelegate * _delegate")
137 {
139 m_event = nullptr;
140 }
141
142 MYGUI_OBSOLETE("use : operator += ")
143 void operator = (typename Event::IDelegate* _delegate)
144 {
145 m_eventObsolete = nullptr;
147 }
148
149 template <typename T>
150 MYGUI_OBSOLETE("use : signature : Event::IDelegate * _delegate")
152 {
154 m_event.clear();
155 }
156
157 void operator += (typename Event::IDelegate* _delegate)
158 {
159 m_eventObsolete.clear();
161 }
162
163 template <typename T>
164 MYGUI_OBSOLETE("use : signature : Event::IDelegate * _delegate")
166 {
168 m_event.clear();
169 }
170
171 void operator -= (typename Event::IDelegate* _delegate)
172 {
173 m_eventObsolete.clear();
175 }
176
177 // 1 to 2
178 template <typename TP1, typename TP2>
180 {
182 m_event(p1, p2);
183 }
184
185 // 2 to 3
186 template <typename TP1, typename TP2, typename TP3, typename TP4>
188 {
190 m_event(p1, p2, p3);
191 }
192
193 // 3 to 4
194 template <typename TP1, typename TP2, typename TP3, typename TP4>
196 {
198 m_event(p1, p2, p3, p4);
199 }
200
201 bool empty() const
202 {
203 return m_eventObsolete.empty() && m_event.empty();
204 }
205
206 public:
208 Event m_event;
209 };
210
211} // namespace MyGUI
212
213#endif // MYGUI_EVENT_PAIR_H_
#define MYGUI_OBSOLETE(text)
void operator()(TP1 p1, TP2 p2, TP3 p3, TP4 p4)
void operator()(TP1 p1, TP2 p2, TP3 p3)
void operator()(TP1 p1, TP2 p2)
void operator()(TP1 p1, TP2 p2, TP3 p3, TP4 p4, TP5 p5, TP6 p6)
void operator()(TP1 p1, TP2 p2, TP3 p3, TP4 p4, TP5 p5)
void operator()(TP1 p1, TP2 p2, TP3 p3, TP4 p4, TP5 p5, TP6 p6, TP7 p7, TP8 p8)
void operator+=(T *_delegate)
void operator()(TP1 p1, TP2 p2, TP3 p3)
void operator()(TP1 p1, TP2 p2)
void operator()(TP1 p1)
void operator()(TP1 p1, TP2 p2, TP3 p3, TP4 p4)
EventObsolete m_eventObsolete
void operator-=(T *_delegate)
void operator()(TP1 p1, TP2 p2, TP3 p3, TP4 p4, TP5 p5, TP6 p6, TP7 p7)