| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | // Copyright The OpenTelemetry Authors// SPDX-License-Identifier: Apache-2.0#pragma once#include <utility>#include "opentelemetry/version.h"#define OPENTELEMETRY_RETURN(...)                        \  noexcept(noexcept(__VA_ARGS__))->decltype(__VA_ARGS__) \  {                                                      \    return __VA_ARGS__;                                  \  }OPENTELEMETRY_BEGIN_NAMESPACEnamespace nostd{namespace detail{struct equal_to{  template <typename Lhs, typename Rhs>  inline constexpr auto operator()(Lhs &&lhs, Rhs &&rhs) const      OPENTELEMETRY_RETURN(std::forward<Lhs>(lhs) == std::forward<Rhs>(rhs))};struct not_equal_to{  template <typename Lhs, typename Rhs>  inline constexpr auto operator()(Lhs &&lhs, Rhs &&rhs) const      OPENTELEMETRY_RETURN(std::forward<Lhs>(lhs) != std::forward<Rhs>(rhs))};struct less{  template <typename Lhs, typename Rhs>  inline constexpr auto operator()(Lhs &&lhs, Rhs &&rhs) const      OPENTELEMETRY_RETURN(std::forward<Lhs>(lhs) < std::forward<Rhs>(rhs))};struct greater{  template <typename Lhs, typename Rhs>  inline constexpr auto operator()(Lhs &&lhs, Rhs &&rhs) const      OPENTELEMETRY_RETURN(std::forward<Lhs>(lhs) > std::forward<Rhs>(rhs))};struct less_equal{  template <typename Lhs, typename Rhs>  inline constexpr auto operator()(Lhs &&lhs, Rhs &&rhs) const      OPENTELEMETRY_RETURN(std::forward<Lhs>(lhs) <= std::forward<Rhs>(rhs))};struct greater_equal{  template <typename Lhs, typename Rhs>  inline constexpr auto operator()(Lhs &&lhs, Rhs &&rhs) const      OPENTELEMETRY_RETURN(std::forward<Lhs>(lhs) >= std::forward<Rhs>(rhs))};}  // namespace detail}  // namespace nostdOPENTELEMETRY_END_NAMESPACE#undef OPENTELEMETRY_RETURN
 |