BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bdlf_noop_cpp03.h
Go to the documentation of this file.
1/// @file bdlf_noop_cpp03.h
2///
3/// The content of this file has been pre-processed for Doxygen.
4///
5
6
7// bdlf_noop_cpp03.h -*-C++-*-
8
9// Automatically generated file. **DO NOT EDIT**
10
11#ifndef INCLUDED_BDLF_NOOP_CPP03
12#define INCLUDED_BDLF_NOOP_CPP03
13
14/// @defgroup bdlf_noop_cpp03 bdlf_noop_cpp03
15/// @brief Provide C++03 implementation for bdlf_noop.h
16/// @addtogroup bdl
17/// @{
18/// @addtogroup bdlf
19/// @{
20/// @addtogroup bdlf_noop_cpp03
21/// @{
22///
23/// <h1> Outline </h1>
24/// * <a href="#bdlf_noop_cpp03-purpose"> Purpose</a>
25/// * <a href="#bdlf_noop_cpp03-classes"> Classes </a>
26/// * <a href="#bdlf_noop_cpp03-description"> Description </a>
27///
28/// # Purpose {#bdlf_noop_cpp03-purpose}
29/// Provide C++03 implementation for bdlf_noop.h
30///
31/// # Classes {#bdlf_noop_cpp03-classes}
32/// See bdlf_noop.h for list of classes
33///
34/// @see bdlf_noop
35///
36/// # Description {#bdlf_noop_cpp03-description}
37/// This component is the C++03 translation of a C++11 component,
38/// generated by the 'sim_cpp11_features.pl' program. If the original header
39/// contains any specially delimited regions of C++11 code, then this generated
40/// file contains the C++03 equivalent, i.e., with variadic templates expanded
41/// and rvalue-references replaced by 'bslmf::MovableRef' objects. The header
42/// code in this file is designed to be '#include'd into the original header
43/// when compiling with a C++03 compiler. If there are no specially delimited
44/// regions of C++11 code, then this header contains no code and is not
45/// '#include'd in the original header.
46///
47/// Generated on Sun Sep 1 06:01:34 2024
48/// Command line: sim_cpp11_features.pl bdlf_noop.h
49/// @}
50/** @} */
51/** @} */
52
53/** @addtogroup bdl
54 * @{
55 */
56/** @addtogroup bdlf
57 * @{
58 */
59/** @addtogroup bdlf_noop_cpp03
60 * @{
61 */
62
63#ifdef COMPILING_BDLF_NOOP_H
64
65
66namespace bdlf {
67
68 // ==========
69 // class NoOp
70 // ==========
71
72/// This functor class provides a function-call operator that accepts any
73/// number of arguments of any type, does nothing (leaving the arguments
74/// unmodified), and returns `void`.
75///
76/// See @ref bdlf_noop_cpp03
77class NoOp {
78
79 public:
80 // TRAITS
82
83 // TYPES
84
85 /// `result_type` is an alias to `void`, which is the type returned by
86 /// the function-call operator of this class
87 typedef void result_type;
88
89#if BSLS_COMPILERFEATURES_SIMULATE_VARIADIC_TEMPLATES
90// {{{ BEGIN GENERATED CODE
91// Command line: sim_cpp11_features.pl bdlf_noop.h
92#ifndef BDLF_NOOP_VARIADIC_LIMIT
93#define BDLF_NOOP_VARIADIC_LIMIT 10
94#endif
95#ifndef BDLF_NOOP_VARIADIC_LIMIT_A
96#define BDLF_NOOP_VARIADIC_LIMIT_A BDLF_NOOP_VARIADIC_LIMIT
97#endif
98
99#if BDLF_NOOP_VARIADIC_LIMIT_A >= 0
100 inline
102 ) const BSLS_KEYWORD_NOEXCEPT;
103#endif // BDLF_NOOP_VARIADIC_LIMIT_A >= 0
104
105#if BDLF_NOOP_VARIADIC_LIMIT_A >= 1
106 template <class t_ARGS_01>
107 inline
109 const t_ARGS_01& ignored_01
110 ) const BSLS_KEYWORD_NOEXCEPT;
111#endif // BDLF_NOOP_VARIADIC_LIMIT_A >= 1
112
113#if BDLF_NOOP_VARIADIC_LIMIT_A >= 2
114 template <class t_ARGS_01,
115 class t_ARGS_02>
116 inline
118 const t_ARGS_01& ignored_01,
119 const t_ARGS_02& ignored_02
120 ) const BSLS_KEYWORD_NOEXCEPT;
121#endif // BDLF_NOOP_VARIADIC_LIMIT_A >= 2
122
123#if BDLF_NOOP_VARIADIC_LIMIT_A >= 3
124 template <class t_ARGS_01,
125 class t_ARGS_02,
126 class t_ARGS_03>
127 inline
129 const t_ARGS_01& ignored_01,
130 const t_ARGS_02& ignored_02,
131 const t_ARGS_03& ignored_03
132 ) const BSLS_KEYWORD_NOEXCEPT;
133#endif // BDLF_NOOP_VARIADIC_LIMIT_A >= 3
134
135#if BDLF_NOOP_VARIADIC_LIMIT_A >= 4
136 template <class t_ARGS_01,
137 class t_ARGS_02,
138 class t_ARGS_03,
139 class t_ARGS_04>
140 inline
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
146 ) const BSLS_KEYWORD_NOEXCEPT;
147#endif // BDLF_NOOP_VARIADIC_LIMIT_A >= 4
148
149#if BDLF_NOOP_VARIADIC_LIMIT_A >= 5
150 template <class t_ARGS_01,
151 class t_ARGS_02,
152 class t_ARGS_03,
153 class t_ARGS_04,
154 class t_ARGS_05>
155 inline
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
162 ) const BSLS_KEYWORD_NOEXCEPT;
163#endif // BDLF_NOOP_VARIADIC_LIMIT_A >= 5
164
165#if BDLF_NOOP_VARIADIC_LIMIT_A >= 6
166 template <class t_ARGS_01,
167 class t_ARGS_02,
168 class t_ARGS_03,
169 class t_ARGS_04,
170 class t_ARGS_05,
171 class t_ARGS_06>
172 inline
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
180 ) const BSLS_KEYWORD_NOEXCEPT;
181#endif // BDLF_NOOP_VARIADIC_LIMIT_A >= 6
182
183#if BDLF_NOOP_VARIADIC_LIMIT_A >= 7
184 template <class t_ARGS_01,
185 class t_ARGS_02,
186 class t_ARGS_03,
187 class t_ARGS_04,
188 class t_ARGS_05,
189 class t_ARGS_06,
190 class t_ARGS_07>
191 inline
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
200 ) const BSLS_KEYWORD_NOEXCEPT;
201#endif // BDLF_NOOP_VARIADIC_LIMIT_A >= 7
202
203#if BDLF_NOOP_VARIADIC_LIMIT_A >= 8
204 template <class t_ARGS_01,
205 class t_ARGS_02,
206 class t_ARGS_03,
207 class t_ARGS_04,
208 class t_ARGS_05,
209 class t_ARGS_06,
210 class t_ARGS_07,
211 class t_ARGS_08>
212 inline
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
222 ) const BSLS_KEYWORD_NOEXCEPT;
223#endif // BDLF_NOOP_VARIADIC_LIMIT_A >= 8
224
225#if BDLF_NOOP_VARIADIC_LIMIT_A >= 9
226 template <class t_ARGS_01,
227 class t_ARGS_02,
228 class t_ARGS_03,
229 class t_ARGS_04,
230 class t_ARGS_05,
231 class t_ARGS_06,
232 class t_ARGS_07,
233 class t_ARGS_08,
234 class t_ARGS_09>
235 inline
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
246 ) const BSLS_KEYWORD_NOEXCEPT;
247#endif // BDLF_NOOP_VARIADIC_LIMIT_A >= 9
248
249#if BDLF_NOOP_VARIADIC_LIMIT_A >= 10
250 template <class t_ARGS_01,
251 class t_ARGS_02,
252 class t_ARGS_03,
253 class t_ARGS_04,
254 class t_ARGS_05,
255 class t_ARGS_06,
256 class t_ARGS_07,
257 class t_ARGS_08,
258 class t_ARGS_09,
259 class t_ARGS_10>
260 inline
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
272 ) const BSLS_KEYWORD_NOEXCEPT;
273#endif // BDLF_NOOP_VARIADIC_LIMIT_A >= 10
274
275#else
276// The generated code below is a workaround for the absence of perfect
277// forwarding in some compilers.
278
279 template <class... t_ARGS>
280 inline
282 const t_ARGS&... ignored) const BSLS_KEYWORD_NOEXCEPT;
283// }}} END GENERATED CODE
284#endif
285};
286
287// BDE_VERIFY pragma: push
288// BDE_VERIFY pragma: -AQb01
289// BDE_VERIFY pragma: -TR17
290#ifdef BSLS_COMPILERFEATURES_SUPPORT_INLINE_VARIABLES
291inline
292constexpr NoOp noOp = NoOp();
293#else
294extern const NoOp noOp;
295#endif
296// BDE_VERIFY pragma: pop
297
298// ============================================================================
299// INLINE DEFINITIONS
300// ============================================================================
301
302 // ----------
303 // class NoOp
304 // ----------
305
306#if BSLS_COMPILERFEATURES_SIMULATE_VARIADIC_TEMPLATES
307// {{{ BEGIN GENERATED CODE
308// Command line: sim_cpp11_features.pl bdlf_noop.h
309#ifndef BDLF_NOOP_VARIADIC_LIMIT
310#define BDLF_NOOP_VARIADIC_LIMIT 10
311#endif
312#ifndef BDLF_NOOP_VARIADIC_LIMIT_B
313#define BDLF_NOOP_VARIADIC_LIMIT_B BDLF_NOOP_VARIADIC_LIMIT
314#endif
315#if BDLF_NOOP_VARIADIC_LIMIT_B >= 0
318{
319}
320#endif // BDLF_NOOP_VARIADIC_LIMIT_B >= 0
321
322#if BDLF_NOOP_VARIADIC_LIMIT_B >= 1
323template <class t_ARGS_01>
325 BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01
327{
328}
329#endif // BDLF_NOOP_VARIADIC_LIMIT_B >= 1
330
331#if BDLF_NOOP_VARIADIC_LIMIT_B >= 2
332template <class t_ARGS_01,
333 class t_ARGS_02>
335 BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
336 BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02
338{
339}
340#endif // BDLF_NOOP_VARIADIC_LIMIT_B >= 2
341
342#if BDLF_NOOP_VARIADIC_LIMIT_B >= 3
343template <class t_ARGS_01,
344 class t_ARGS_02,
345 class t_ARGS_03>
347 BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
348 BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
349 BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03
351{
352}
353#endif // BDLF_NOOP_VARIADIC_LIMIT_B >= 3
354
355#if BDLF_NOOP_VARIADIC_LIMIT_B >= 4
356template <class t_ARGS_01,
357 class t_ARGS_02,
358 class t_ARGS_03,
359 class t_ARGS_04>
361 BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
362 BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
363 BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03,
364 BSLA_MAYBE_UNUSED const t_ARGS_04& ignored_04
366{
367}
368#endif // BDLF_NOOP_VARIADIC_LIMIT_B >= 4
369
370#if BDLF_NOOP_VARIADIC_LIMIT_B >= 5
371template <class t_ARGS_01,
372 class t_ARGS_02,
373 class t_ARGS_03,
374 class t_ARGS_04,
375 class t_ARGS_05>
377 BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
378 BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
379 BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03,
380 BSLA_MAYBE_UNUSED const t_ARGS_04& ignored_04,
381 BSLA_MAYBE_UNUSED const t_ARGS_05& ignored_05
383{
384}
385#endif // BDLF_NOOP_VARIADIC_LIMIT_B >= 5
386
387#if BDLF_NOOP_VARIADIC_LIMIT_B >= 6
388template <class t_ARGS_01,
389 class t_ARGS_02,
390 class t_ARGS_03,
391 class t_ARGS_04,
392 class t_ARGS_05,
393 class t_ARGS_06>
395 BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
396 BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
397 BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03,
398 BSLA_MAYBE_UNUSED const t_ARGS_04& ignored_04,
399 BSLA_MAYBE_UNUSED const t_ARGS_05& ignored_05,
400 BSLA_MAYBE_UNUSED const t_ARGS_06& ignored_06
402{
403}
404#endif // BDLF_NOOP_VARIADIC_LIMIT_B >= 6
405
406#if BDLF_NOOP_VARIADIC_LIMIT_B >= 7
407template <class t_ARGS_01,
408 class t_ARGS_02,
409 class t_ARGS_03,
410 class t_ARGS_04,
411 class t_ARGS_05,
412 class t_ARGS_06,
413 class t_ARGS_07>
415 BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
416 BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
417 BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03,
418 BSLA_MAYBE_UNUSED const t_ARGS_04& ignored_04,
419 BSLA_MAYBE_UNUSED const t_ARGS_05& ignored_05,
420 BSLA_MAYBE_UNUSED const t_ARGS_06& ignored_06,
421 BSLA_MAYBE_UNUSED const t_ARGS_07& ignored_07
423{
424}
425#endif // BDLF_NOOP_VARIADIC_LIMIT_B >= 7
426
427#if BDLF_NOOP_VARIADIC_LIMIT_B >= 8
428template <class t_ARGS_01,
429 class t_ARGS_02,
430 class t_ARGS_03,
431 class t_ARGS_04,
432 class t_ARGS_05,
433 class t_ARGS_06,
434 class t_ARGS_07,
435 class t_ARGS_08>
437 BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
438 BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
439 BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03,
440 BSLA_MAYBE_UNUSED const t_ARGS_04& ignored_04,
441 BSLA_MAYBE_UNUSED const t_ARGS_05& ignored_05,
442 BSLA_MAYBE_UNUSED const t_ARGS_06& ignored_06,
443 BSLA_MAYBE_UNUSED const t_ARGS_07& ignored_07,
444 BSLA_MAYBE_UNUSED const t_ARGS_08& ignored_08
446{
447}
448#endif // BDLF_NOOP_VARIADIC_LIMIT_B >= 8
449
450#if BDLF_NOOP_VARIADIC_LIMIT_B >= 9
451template <class t_ARGS_01,
452 class t_ARGS_02,
453 class t_ARGS_03,
454 class t_ARGS_04,
455 class t_ARGS_05,
456 class t_ARGS_06,
457 class t_ARGS_07,
458 class t_ARGS_08,
459 class t_ARGS_09>
461 BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
462 BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
463 BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03,
464 BSLA_MAYBE_UNUSED const t_ARGS_04& ignored_04,
465 BSLA_MAYBE_UNUSED const t_ARGS_05& ignored_05,
466 BSLA_MAYBE_UNUSED const t_ARGS_06& ignored_06,
467 BSLA_MAYBE_UNUSED const t_ARGS_07& ignored_07,
468 BSLA_MAYBE_UNUSED const t_ARGS_08& ignored_08,
469 BSLA_MAYBE_UNUSED const t_ARGS_09& ignored_09
471{
472}
473#endif // BDLF_NOOP_VARIADIC_LIMIT_B >= 9
474
475#if BDLF_NOOP_VARIADIC_LIMIT_B >= 10
476template <class t_ARGS_01,
477 class t_ARGS_02,
478 class t_ARGS_03,
479 class t_ARGS_04,
480 class t_ARGS_05,
481 class t_ARGS_06,
482 class t_ARGS_07,
483 class t_ARGS_08,
484 class t_ARGS_09,
485 class t_ARGS_10>
487 BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
488 BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
489 BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03,
490 BSLA_MAYBE_UNUSED const t_ARGS_04& ignored_04,
491 BSLA_MAYBE_UNUSED const t_ARGS_05& ignored_05,
492 BSLA_MAYBE_UNUSED const t_ARGS_06& ignored_06,
493 BSLA_MAYBE_UNUSED const t_ARGS_07& ignored_07,
494 BSLA_MAYBE_UNUSED const t_ARGS_08& ignored_08,
495 BSLA_MAYBE_UNUSED const t_ARGS_09& ignored_09,
496 BSLA_MAYBE_UNUSED const t_ARGS_10& ignored_10
498{
499}
500#endif // BDLF_NOOP_VARIADIC_LIMIT_B >= 10
501
502#else
503// The generated code below is a workaround for the absence of perfect
504// forwarding in some compilers.
505template <class... t_ARGS>
507 BSLA_MAYBE_UNUSED const t_ARGS&...ignored) const BSLS_KEYWORD_NOEXCEPT
508{
509}
510// }}} END GENERATED CODE
511#endif
512
513} // close package namespace
514
515
516#else // if ! defined(DEFINED_BDLF_NOOP_H)
517# error Not valid except when included from bdlf_noop.h
518#endif // ! defined(COMPILING_BDLF_NOOP_H)
519
520#endif // ! defined(INCLUDED_BDLF_NOOP_CPP03)
521
522// ----------------------------------------------------------------------------
523// Copyright 2023 Bloomberg Finance L.P.
524//
525// Licensed under the Apache License, Version 2.0 (the "License");
526// you may not use this file except in compliance with the License.
527// You may obtain a copy of the License at
528//
529// http://www.apache.org/licenses/LICENSE-2.0
530//
531// Unless required by applicable law or agreed to in writing, software
532// distributed under the License is distributed on an "AS IS" BASIS,
533// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
534// See the License for the specific language governing permissions and
535// limitations under the License.
536// ----------------------------- END-OF-FILE ----------------------------------
537
538/** @} */
539/** @} */
540/** @} */
#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
const NoOp noOp
Definition bslmf_istriviallycopyable.h:329