11#ifndef INCLUDED_BDLF_NOOP_CPP03
12#define INCLUDED_BDLF_NOOP_CPP03
63#ifdef COMPILING_BDLF_NOOP_H
89#if BSLS_COMPILERFEATURES_SIMULATE_VARIADIC_TEMPLATES
92#ifndef BDLF_NOOP_VARIADIC_LIMIT
93#define BDLF_NOOP_VARIADIC_LIMIT 10
95#ifndef BDLF_NOOP_VARIADIC_LIMIT_A
96#define BDLF_NOOP_VARIADIC_LIMIT_A BDLF_NOOP_VARIADIC_LIMIT
99#if BDLF_NOOP_VARIADIC_LIMIT_A >= 0
105#if BDLF_NOOP_VARIADIC_LIMIT_A >= 1
106 template <
class t_ARGS_01>
109 const t_ARGS_01& ignored_01
113#if BDLF_NOOP_VARIADIC_LIMIT_A >= 2
114 template <
class t_ARGS_01,
118 const t_ARGS_01& ignored_01,
119 const t_ARGS_02& ignored_02
123#if BDLF_NOOP_VARIADIC_LIMIT_A >= 3
124 template <
class t_ARGS_01,
129 const t_ARGS_01& ignored_01,
130 const t_ARGS_02& ignored_02,
131 const t_ARGS_03& ignored_03
135#if BDLF_NOOP_VARIADIC_LIMIT_A >= 4
136 template <
class t_ARGS_01,
142 const t_ARGS_01& ignored_01,
143 const t_ARGS_02& ignored_02,
144 const t_ARGS_03& ignored_03,
145 const t_ARGS_04& ignored_04
149#if BDLF_NOOP_VARIADIC_LIMIT_A >= 5
150 template <
class t_ARGS_01,
157 const t_ARGS_01& ignored_01,
158 const t_ARGS_02& ignored_02,
159 const t_ARGS_03& ignored_03,
160 const t_ARGS_04& ignored_04,
161 const t_ARGS_05& ignored_05
165#if BDLF_NOOP_VARIADIC_LIMIT_A >= 6
166 template <
class t_ARGS_01,
174 const t_ARGS_01& ignored_01,
175 const t_ARGS_02& ignored_02,
176 const t_ARGS_03& ignored_03,
177 const t_ARGS_04& ignored_04,
178 const t_ARGS_05& ignored_05,
179 const t_ARGS_06& ignored_06
183#if BDLF_NOOP_VARIADIC_LIMIT_A >= 7
184 template <
class t_ARGS_01,
193 const t_ARGS_01& ignored_01,
194 const t_ARGS_02& ignored_02,
195 const t_ARGS_03& ignored_03,
196 const t_ARGS_04& ignored_04,
197 const t_ARGS_05& ignored_05,
198 const t_ARGS_06& ignored_06,
199 const t_ARGS_07& ignored_07
203#if BDLF_NOOP_VARIADIC_LIMIT_A >= 8
204 template <
class t_ARGS_01,
214 const t_ARGS_01& ignored_01,
215 const t_ARGS_02& ignored_02,
216 const t_ARGS_03& ignored_03,
217 const t_ARGS_04& ignored_04,
218 const t_ARGS_05& ignored_05,
219 const t_ARGS_06& ignored_06,
220 const t_ARGS_07& ignored_07,
221 const t_ARGS_08& ignored_08
225#if BDLF_NOOP_VARIADIC_LIMIT_A >= 9
226 template <
class t_ARGS_01,
237 const t_ARGS_01& ignored_01,
238 const t_ARGS_02& ignored_02,
239 const t_ARGS_03& ignored_03,
240 const t_ARGS_04& ignored_04,
241 const t_ARGS_05& ignored_05,
242 const t_ARGS_06& ignored_06,
243 const t_ARGS_07& ignored_07,
244 const t_ARGS_08& ignored_08,
245 const t_ARGS_09& ignored_09
249#if BDLF_NOOP_VARIADIC_LIMIT_A >= 10
250 template <
class t_ARGS_01,
262 const t_ARGS_01& ignored_01,
263 const t_ARGS_02& ignored_02,
264 const t_ARGS_03& ignored_03,
265 const t_ARGS_04& ignored_04,
266 const t_ARGS_05& ignored_05,
267 const t_ARGS_06& ignored_06,
268 const t_ARGS_07& ignored_07,
269 const t_ARGS_08& ignored_08,
270 const t_ARGS_09& ignored_09,
271 const t_ARGS_10& ignored_10
279 template <
class... t_ARGS>
290#ifdef BSLS_COMPILERFEATURES_SUPPORT_INLINE_VARIABLES
292constexpr NoOp
noOp = NoOp();
294extern const NoOp
noOp;
306#if BSLS_COMPILERFEATURES_SIMULATE_VARIADIC_TEMPLATES
309#ifndef BDLF_NOOP_VARIADIC_LIMIT
310#define BDLF_NOOP_VARIADIC_LIMIT 10
312#ifndef BDLF_NOOP_VARIADIC_LIMIT_B
313#define BDLF_NOOP_VARIADIC_LIMIT_B BDLF_NOOP_VARIADIC_LIMIT
315#if BDLF_NOOP_VARIADIC_LIMIT_B >= 0
322#if BDLF_NOOP_VARIADIC_LIMIT_B >= 1
323template <
class t_ARGS_01>
331#if BDLF_NOOP_VARIADIC_LIMIT_B >= 2
332template <
class t_ARGS_01,
342#if BDLF_NOOP_VARIADIC_LIMIT_B >= 3
343template <
class t_ARGS_01,
355#if BDLF_NOOP_VARIADIC_LIMIT_B >= 4
356template <
class t_ARGS_01,
370#if BDLF_NOOP_VARIADIC_LIMIT_B >= 5
371template <
class t_ARGS_01,
387#if BDLF_NOOP_VARIADIC_LIMIT_B >= 6
388template <
class t_ARGS_01,
406#if BDLF_NOOP_VARIADIC_LIMIT_B >= 7
407template <
class t_ARGS_01,
427#if BDLF_NOOP_VARIADIC_LIMIT_B >= 8
428template <
class t_ARGS_01,
450#if BDLF_NOOP_VARIADIC_LIMIT_B >= 9
451template <
class t_ARGS_01,
475#if BDLF_NOOP_VARIADIC_LIMIT_B >= 10
476template <
class t_ARGS_01,
505template <
class... t_ARGS>
517# error Not valid except when included from bdlf_noop.h
#define BSLMF_NESTED_TRAIT_DECLARATION(t_TYPE, t_TRAIT)
Definition bslmf_nestedtraitdeclaration.h:231
BSLS_KEYWORD_CONSTEXPR_CPP14 void operator()(const t_ARGS &... ignored) const BSLS_KEYWORD_NOEXCEPT
Do nothing and ignore all specified ignored arguments.
void result_type
Definition bdlf_noop.h:194
#define BSLA_MAYBE_UNUSED
Definition bsla_maybeunused.h:239
#define BSLS_KEYWORD_CONSTEXPR_CPP14
Definition bsls_keyword.h:595
#define BSLS_KEYWORD_NOEXCEPT
Definition bsls_keyword.h:632
Definition bdlf_bind.h:976
Definition bslmf_istriviallycopyable.h:329