// bdlf_noop_cpp03.h                                                  -*-C++-*-

// Automatically generated file.  **DO NOT EDIT**

#ifndef INCLUDED_BDLF_NOOP_CPP03
#define INCLUDED_BDLF_NOOP_CPP03

//@PURPOSE: Provide C++03 implementation for bdlf_noop.h
//
//@CLASSES: See bdlf_noop.h for list of classes
//
//@SEE_ALSO: bdlf_noop
//
//@DESCRIPTION:  This component is the C++03 translation of a C++11 component,
// generated by the 'sim_cpp11_features.pl' program.  If the original header
// contains any specially delimited regions of C++11 code, then this generated
// file contains the C++03 equivalent, i.e., with variadic templates expanded
// and rvalue-references replaced by 'bslmf::MovableRef' objects.  The header
// code in this file is designed to be '#include'd into the original header
// when compiling with a C++03 compiler.  If there are no specially delimited
// regions of C++11 code, then this header contains no code and is not
// '#include'd in the original header.
//
// Generated on Sun Sep  1 06:01:34 2024
// Command line: sim_cpp11_features.pl bdlf_noop.h

#ifdef COMPILING_BDLF_NOOP_H

namespace BloombergLP {
namespace bdlf {

                                 // ==========
                                 // class NoOp
                                 // ==========

/// This functor class provides a function-call operator that accepts any
/// number of arguments of any type, does nothing (leaving the arguments
/// unmodified), and returns `void`.
class NoOp {

  public:
    // TRAITS
    BSLMF_NESTED_TRAIT_DECLARATION(NoOp, bsl::is_trivially_copyable);

    // TYPES

    /// `result_type` is an alias to `void`, which is the type returned by
    /// the function-call operator of this class
    typedef void result_type;

#if BSLS_COMPILERFEATURES_SIMULATE_VARIADIC_TEMPLATES
// {{{ BEGIN GENERATED CODE
// Command line: sim_cpp11_features.pl bdlf_noop.h
#ifndef BDLF_NOOP_VARIADIC_LIMIT
#define BDLF_NOOP_VARIADIC_LIMIT 10
#endif
#ifndef BDLF_NOOP_VARIADIC_LIMIT_A
#define BDLF_NOOP_VARIADIC_LIMIT_A BDLF_NOOP_VARIADIC_LIMIT
#endif

#if BDLF_NOOP_VARIADIC_LIMIT_A >= 0
    inline
    BSLS_KEYWORD_CONSTEXPR_CPP14 void operator()(
                         ) const BSLS_KEYWORD_NOEXCEPT;
#endif  // BDLF_NOOP_VARIADIC_LIMIT_A >= 0

#if BDLF_NOOP_VARIADIC_LIMIT_A >= 1
    template <class t_ARGS_01>
    inline
    BSLS_KEYWORD_CONSTEXPR_CPP14 void operator()(
                         const t_ARGS_01& ignored_01
                         ) const BSLS_KEYWORD_NOEXCEPT;
#endif  // BDLF_NOOP_VARIADIC_LIMIT_A >= 1

#if BDLF_NOOP_VARIADIC_LIMIT_A >= 2
    template <class t_ARGS_01,
              class t_ARGS_02>
    inline
    BSLS_KEYWORD_CONSTEXPR_CPP14 void operator()(
                         const t_ARGS_01& ignored_01,
                         const t_ARGS_02& ignored_02
                         ) const BSLS_KEYWORD_NOEXCEPT;
#endif  // BDLF_NOOP_VARIADIC_LIMIT_A >= 2

#if BDLF_NOOP_VARIADIC_LIMIT_A >= 3
    template <class t_ARGS_01,
              class t_ARGS_02,
              class t_ARGS_03>
    inline
    BSLS_KEYWORD_CONSTEXPR_CPP14 void operator()(
                         const t_ARGS_01& ignored_01,
                         const t_ARGS_02& ignored_02,
                         const t_ARGS_03& ignored_03
                         ) const BSLS_KEYWORD_NOEXCEPT;
#endif  // BDLF_NOOP_VARIADIC_LIMIT_A >= 3

#if BDLF_NOOP_VARIADIC_LIMIT_A >= 4
    template <class t_ARGS_01,
              class t_ARGS_02,
              class t_ARGS_03,
              class t_ARGS_04>
    inline
    BSLS_KEYWORD_CONSTEXPR_CPP14 void operator()(
                         const t_ARGS_01& ignored_01,
                         const t_ARGS_02& ignored_02,
                         const t_ARGS_03& ignored_03,
                         const t_ARGS_04& ignored_04
                         ) const BSLS_KEYWORD_NOEXCEPT;
#endif  // BDLF_NOOP_VARIADIC_LIMIT_A >= 4

#if BDLF_NOOP_VARIADIC_LIMIT_A >= 5
    template <class t_ARGS_01,
              class t_ARGS_02,
              class t_ARGS_03,
              class t_ARGS_04,
              class t_ARGS_05>
    inline
    BSLS_KEYWORD_CONSTEXPR_CPP14 void operator()(
                         const t_ARGS_01& ignored_01,
                         const t_ARGS_02& ignored_02,
                         const t_ARGS_03& ignored_03,
                         const t_ARGS_04& ignored_04,
                         const t_ARGS_05& ignored_05
                         ) const BSLS_KEYWORD_NOEXCEPT;
#endif  // BDLF_NOOP_VARIADIC_LIMIT_A >= 5

#if BDLF_NOOP_VARIADIC_LIMIT_A >= 6
    template <class t_ARGS_01,
              class t_ARGS_02,
              class t_ARGS_03,
              class t_ARGS_04,
              class t_ARGS_05,
              class t_ARGS_06>
    inline
    BSLS_KEYWORD_CONSTEXPR_CPP14 void operator()(
                         const t_ARGS_01& ignored_01,
                         const t_ARGS_02& ignored_02,
                         const t_ARGS_03& ignored_03,
                         const t_ARGS_04& ignored_04,
                         const t_ARGS_05& ignored_05,
                         const t_ARGS_06& ignored_06
                         ) const BSLS_KEYWORD_NOEXCEPT;
#endif  // BDLF_NOOP_VARIADIC_LIMIT_A >= 6

#if BDLF_NOOP_VARIADIC_LIMIT_A >= 7
    template <class t_ARGS_01,
              class t_ARGS_02,
              class t_ARGS_03,
              class t_ARGS_04,
              class t_ARGS_05,
              class t_ARGS_06,
              class t_ARGS_07>
    inline
    BSLS_KEYWORD_CONSTEXPR_CPP14 void operator()(
                         const t_ARGS_01& ignored_01,
                         const t_ARGS_02& ignored_02,
                         const t_ARGS_03& ignored_03,
                         const t_ARGS_04& ignored_04,
                         const t_ARGS_05& ignored_05,
                         const t_ARGS_06& ignored_06,
                         const t_ARGS_07& ignored_07
                         ) const BSLS_KEYWORD_NOEXCEPT;
#endif  // BDLF_NOOP_VARIADIC_LIMIT_A >= 7

#if BDLF_NOOP_VARIADIC_LIMIT_A >= 8
    template <class t_ARGS_01,
              class t_ARGS_02,
              class t_ARGS_03,
              class t_ARGS_04,
              class t_ARGS_05,
              class t_ARGS_06,
              class t_ARGS_07,
              class t_ARGS_08>
    inline
    BSLS_KEYWORD_CONSTEXPR_CPP14 void operator()(
                         const t_ARGS_01& ignored_01,
                         const t_ARGS_02& ignored_02,
                         const t_ARGS_03& ignored_03,
                         const t_ARGS_04& ignored_04,
                         const t_ARGS_05& ignored_05,
                         const t_ARGS_06& ignored_06,
                         const t_ARGS_07& ignored_07,
                         const t_ARGS_08& ignored_08
                         ) const BSLS_KEYWORD_NOEXCEPT;
#endif  // BDLF_NOOP_VARIADIC_LIMIT_A >= 8

#if BDLF_NOOP_VARIADIC_LIMIT_A >= 9
    template <class t_ARGS_01,
              class t_ARGS_02,
              class t_ARGS_03,
              class t_ARGS_04,
              class t_ARGS_05,
              class t_ARGS_06,
              class t_ARGS_07,
              class t_ARGS_08,
              class t_ARGS_09>
    inline
    BSLS_KEYWORD_CONSTEXPR_CPP14 void operator()(
                         const t_ARGS_01& ignored_01,
                         const t_ARGS_02& ignored_02,
                         const t_ARGS_03& ignored_03,
                         const t_ARGS_04& ignored_04,
                         const t_ARGS_05& ignored_05,
                         const t_ARGS_06& ignored_06,
                         const t_ARGS_07& ignored_07,
                         const t_ARGS_08& ignored_08,
                         const t_ARGS_09& ignored_09
                         ) const BSLS_KEYWORD_NOEXCEPT;
#endif  // BDLF_NOOP_VARIADIC_LIMIT_A >= 9

#if BDLF_NOOP_VARIADIC_LIMIT_A >= 10
    template <class t_ARGS_01,
              class t_ARGS_02,
              class t_ARGS_03,
              class t_ARGS_04,
              class t_ARGS_05,
              class t_ARGS_06,
              class t_ARGS_07,
              class t_ARGS_08,
              class t_ARGS_09,
              class t_ARGS_10>
    inline
    BSLS_KEYWORD_CONSTEXPR_CPP14 void operator()(
                         const t_ARGS_01& ignored_01,
                         const t_ARGS_02& ignored_02,
                         const t_ARGS_03& ignored_03,
                         const t_ARGS_04& ignored_04,
                         const t_ARGS_05& ignored_05,
                         const t_ARGS_06& ignored_06,
                         const t_ARGS_07& ignored_07,
                         const t_ARGS_08& ignored_08,
                         const t_ARGS_09& ignored_09,
                         const t_ARGS_10& ignored_10
                         ) const BSLS_KEYWORD_NOEXCEPT;
#endif  // BDLF_NOOP_VARIADIC_LIMIT_A >= 10

#else
// The generated code below is a workaround for the absence of perfect
// forwarding in some compilers.

    template <class... t_ARGS>
    inline
    BSLS_KEYWORD_CONSTEXPR_CPP14 void operator()(
                         const t_ARGS&... ignored) const BSLS_KEYWORD_NOEXCEPT;
// }}} END GENERATED CODE
#endif
};

// BDE_VERIFY pragma: push
// BDE_VERIFY pragma: -AQb01
// BDE_VERIFY pragma: -TR17
#ifdef BSLS_COMPILERFEATURES_SUPPORT_INLINE_VARIABLES
inline
constexpr NoOp noOp = NoOp();
#else
extern const NoOp noOp;
#endif
// BDE_VERIFY pragma: pop

// ============================================================================
//                            INLINE DEFINITIONS
// ============================================================================

                                 // ----------
                                 // class NoOp
                                 // ----------

#if BSLS_COMPILERFEATURES_SIMULATE_VARIADIC_TEMPLATES
// {{{ BEGIN GENERATED CODE
// Command line: sim_cpp11_features.pl bdlf_noop.h
#ifndef BDLF_NOOP_VARIADIC_LIMIT
#define BDLF_NOOP_VARIADIC_LIMIT 10
#endif
#ifndef BDLF_NOOP_VARIADIC_LIMIT_B
#define BDLF_NOOP_VARIADIC_LIMIT_B BDLF_NOOP_VARIADIC_LIMIT
#endif
#if BDLF_NOOP_VARIADIC_LIMIT_B >= 0
BSLS_KEYWORD_CONSTEXPR_CPP14 void NoOp::operator()(
         ) const BSLS_KEYWORD_NOEXCEPT
{
}
#endif  // BDLF_NOOP_VARIADIC_LIMIT_B >= 0

#if BDLF_NOOP_VARIADIC_LIMIT_B >= 1
template <class t_ARGS_01>
BSLS_KEYWORD_CONSTEXPR_CPP14 void NoOp::operator()(
         BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01
         ) const BSLS_KEYWORD_NOEXCEPT
{
}
#endif  // BDLF_NOOP_VARIADIC_LIMIT_B >= 1

#if BDLF_NOOP_VARIADIC_LIMIT_B >= 2
template <class t_ARGS_01,
          class t_ARGS_02>
BSLS_KEYWORD_CONSTEXPR_CPP14 void NoOp::operator()(
         BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
         BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02
         ) const BSLS_KEYWORD_NOEXCEPT
{
}
#endif  // BDLF_NOOP_VARIADIC_LIMIT_B >= 2

#if BDLF_NOOP_VARIADIC_LIMIT_B >= 3
template <class t_ARGS_01,
          class t_ARGS_02,
          class t_ARGS_03>
BSLS_KEYWORD_CONSTEXPR_CPP14 void NoOp::operator()(
         BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
         BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
         BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03
         ) const BSLS_KEYWORD_NOEXCEPT
{
}
#endif  // BDLF_NOOP_VARIADIC_LIMIT_B >= 3

#if BDLF_NOOP_VARIADIC_LIMIT_B >= 4
template <class t_ARGS_01,
          class t_ARGS_02,
          class t_ARGS_03,
          class t_ARGS_04>
BSLS_KEYWORD_CONSTEXPR_CPP14 void NoOp::operator()(
         BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
         BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
         BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03,
         BSLA_MAYBE_UNUSED const t_ARGS_04& ignored_04
         ) const BSLS_KEYWORD_NOEXCEPT
{
}
#endif  // BDLF_NOOP_VARIADIC_LIMIT_B >= 4

#if BDLF_NOOP_VARIADIC_LIMIT_B >= 5
template <class t_ARGS_01,
          class t_ARGS_02,
          class t_ARGS_03,
          class t_ARGS_04,
          class t_ARGS_05>
BSLS_KEYWORD_CONSTEXPR_CPP14 void NoOp::operator()(
         BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
         BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
         BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03,
         BSLA_MAYBE_UNUSED const t_ARGS_04& ignored_04,
         BSLA_MAYBE_UNUSED const t_ARGS_05& ignored_05
         ) const BSLS_KEYWORD_NOEXCEPT
{
}
#endif  // BDLF_NOOP_VARIADIC_LIMIT_B >= 5

#if BDLF_NOOP_VARIADIC_LIMIT_B >= 6
template <class t_ARGS_01,
          class t_ARGS_02,
          class t_ARGS_03,
          class t_ARGS_04,
          class t_ARGS_05,
          class t_ARGS_06>
BSLS_KEYWORD_CONSTEXPR_CPP14 void NoOp::operator()(
         BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
         BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
         BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03,
         BSLA_MAYBE_UNUSED const t_ARGS_04& ignored_04,
         BSLA_MAYBE_UNUSED const t_ARGS_05& ignored_05,
         BSLA_MAYBE_UNUSED const t_ARGS_06& ignored_06
         ) const BSLS_KEYWORD_NOEXCEPT
{
}
#endif  // BDLF_NOOP_VARIADIC_LIMIT_B >= 6

#if BDLF_NOOP_VARIADIC_LIMIT_B >= 7
template <class t_ARGS_01,
          class t_ARGS_02,
          class t_ARGS_03,
          class t_ARGS_04,
          class t_ARGS_05,
          class t_ARGS_06,
          class t_ARGS_07>
BSLS_KEYWORD_CONSTEXPR_CPP14 void NoOp::operator()(
         BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
         BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
         BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03,
         BSLA_MAYBE_UNUSED const t_ARGS_04& ignored_04,
         BSLA_MAYBE_UNUSED const t_ARGS_05& ignored_05,
         BSLA_MAYBE_UNUSED const t_ARGS_06& ignored_06,
         BSLA_MAYBE_UNUSED const t_ARGS_07& ignored_07
         ) const BSLS_KEYWORD_NOEXCEPT
{
}
#endif  // BDLF_NOOP_VARIADIC_LIMIT_B >= 7

#if BDLF_NOOP_VARIADIC_LIMIT_B >= 8
template <class t_ARGS_01,
          class t_ARGS_02,
          class t_ARGS_03,
          class t_ARGS_04,
          class t_ARGS_05,
          class t_ARGS_06,
          class t_ARGS_07,
          class t_ARGS_08>
BSLS_KEYWORD_CONSTEXPR_CPP14 void NoOp::operator()(
         BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
         BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
         BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03,
         BSLA_MAYBE_UNUSED const t_ARGS_04& ignored_04,
         BSLA_MAYBE_UNUSED const t_ARGS_05& ignored_05,
         BSLA_MAYBE_UNUSED const t_ARGS_06& ignored_06,
         BSLA_MAYBE_UNUSED const t_ARGS_07& ignored_07,
         BSLA_MAYBE_UNUSED const t_ARGS_08& ignored_08
         ) const BSLS_KEYWORD_NOEXCEPT
{
}
#endif  // BDLF_NOOP_VARIADIC_LIMIT_B >= 8

#if BDLF_NOOP_VARIADIC_LIMIT_B >= 9
template <class t_ARGS_01,
          class t_ARGS_02,
          class t_ARGS_03,
          class t_ARGS_04,
          class t_ARGS_05,
          class t_ARGS_06,
          class t_ARGS_07,
          class t_ARGS_08,
          class t_ARGS_09>
BSLS_KEYWORD_CONSTEXPR_CPP14 void NoOp::operator()(
         BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
         BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
         BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03,
         BSLA_MAYBE_UNUSED const t_ARGS_04& ignored_04,
         BSLA_MAYBE_UNUSED const t_ARGS_05& ignored_05,
         BSLA_MAYBE_UNUSED const t_ARGS_06& ignored_06,
         BSLA_MAYBE_UNUSED const t_ARGS_07& ignored_07,
         BSLA_MAYBE_UNUSED const t_ARGS_08& ignored_08,
         BSLA_MAYBE_UNUSED const t_ARGS_09& ignored_09
         ) const BSLS_KEYWORD_NOEXCEPT
{
}
#endif  // BDLF_NOOP_VARIADIC_LIMIT_B >= 9

#if BDLF_NOOP_VARIADIC_LIMIT_B >= 10
template <class t_ARGS_01,
          class t_ARGS_02,
          class t_ARGS_03,
          class t_ARGS_04,
          class t_ARGS_05,
          class t_ARGS_06,
          class t_ARGS_07,
          class t_ARGS_08,
          class t_ARGS_09,
          class t_ARGS_10>
BSLS_KEYWORD_CONSTEXPR_CPP14 void NoOp::operator()(
         BSLA_MAYBE_UNUSED const t_ARGS_01& ignored_01,
         BSLA_MAYBE_UNUSED const t_ARGS_02& ignored_02,
         BSLA_MAYBE_UNUSED const t_ARGS_03& ignored_03,
         BSLA_MAYBE_UNUSED const t_ARGS_04& ignored_04,
         BSLA_MAYBE_UNUSED const t_ARGS_05& ignored_05,
         BSLA_MAYBE_UNUSED const t_ARGS_06& ignored_06,
         BSLA_MAYBE_UNUSED const t_ARGS_07& ignored_07,
         BSLA_MAYBE_UNUSED const t_ARGS_08& ignored_08,
         BSLA_MAYBE_UNUSED const t_ARGS_09& ignored_09,
         BSLA_MAYBE_UNUSED const t_ARGS_10& ignored_10
         ) const BSLS_KEYWORD_NOEXCEPT
{
}
#endif  // BDLF_NOOP_VARIADIC_LIMIT_B >= 10

#else
// The generated code below is a workaround for the absence of perfect
// forwarding in some compilers.
template <class... t_ARGS>
BSLS_KEYWORD_CONSTEXPR_CPP14 void NoOp::operator()(
         BSLA_MAYBE_UNUSED const t_ARGS&...ignored) const BSLS_KEYWORD_NOEXCEPT
{
}
// }}} END GENERATED CODE
#endif

}  // close package namespace
}  // close enterprise namespace

#else // if ! defined(DEFINED_BDLF_NOOP_H)
# error Not valid except when included from bdlf_noop.h
#endif // ! defined(COMPILING_BDLF_NOOP_H)

#endif // ! defined(INCLUDED_BDLF_NOOP_CPP03)

// ----------------------------------------------------------------------------
// Copyright 2023 Bloomberg Finance L.P.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ----------------------------- END-OF-FILE ----------------------------------
