config.hpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * Distributed under the Boost Software License, Version 1.0.
  3. * (See accompanying file LICENSE_1_0.txt or copy at
  4. * https://www.boost.org/LICENSE_1_0.txt)
  5. *
  6. * Copyright (c) 2023 Andrey Semashev
  7. */
  8. /*!
  9. * \file scope/detail/config.hpp
  10. *
  11. * This header contains Boost.Scope common configuration.
  12. */
  13. #ifndef BOOST_SCOPE_DETAIL_CONFIG_HPP_INCLUDED_
  14. #define BOOST_SCOPE_DETAIL_CONFIG_HPP_INCLUDED_
  15. #include <boost/config.hpp>
  16. #include <boost/scope/detail/header.hpp>
  17. #ifdef BOOST_HAS_PRAGMA_ONCE
  18. #pragma once
  19. #endif
  20. #if !(defined(__cpp_noexcept_function_type) && __cpp_noexcept_function_type >= 201510l) && !defined(_NOEXCEPT_TYPES_SUPPORTED)
  21. #define BOOST_SCOPE_NO_CXX17_NOEXCEPT_FUNCTION_TYPES
  22. #endif
  23. #if !defined(BOOST_SCOPE_DETAIL_DOC_ALT)
  24. #if !defined(BOOST_SCOPE_DOXYGEN)
  25. #define BOOST_SCOPE_DETAIL_DOC_ALT(alt, ...) __VA_ARGS__
  26. #else
  27. #define BOOST_SCOPE_DETAIL_DOC_ALT(alt, ...) alt
  28. #endif
  29. #endif
  30. #if !defined(BOOST_SCOPE_DETAIL_DOC_HIDDEN)
  31. #define BOOST_SCOPE_DETAIL_DOC_HIDDEN(...) BOOST_SCOPE_DETAIL_DOC_ALT(..., __VA_ARGS__)
  32. #endif
  33. #if !defined(BOOST_SCOPE_DETAIL_DOC)
  34. #if !defined(BOOST_SCOPE_DOXYGEN)
  35. #define BOOST_SCOPE_DETAIL_DOC(...)
  36. #else
  37. #define BOOST_SCOPE_DETAIL_DOC(...) __VA_ARGS__
  38. #endif
  39. #endif
  40. #include <boost/scope/detail/footer.hpp>
  41. #endif // BOOST_SCOPE_DETAIL_CONFIG_HPP_INCLUDED_