use_std_allocator.hpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * Copyright Andrey Semashev 2021.
  3. * Distributed under the Boost Software License, Version 1.0.
  4. * (See accompanying file LICENSE_1_0.txt or copy at
  5. * http://www.boost.org/LICENSE_1_0.txt)
  6. */
  7. /*!
  8. * \file use_std_allocator.hpp
  9. * \author Andrey Semashev
  10. * \date 04.03.2021
  11. *
  12. * The header defines \c use_std_allocator tag type.
  13. */
  14. #ifndef BOOST_LOG_UTILITY_USE_STD_ALLOCATOR_HPP_INCLUDED_
  15. #define BOOST_LOG_UTILITY_USE_STD_ALLOCATOR_HPP_INCLUDED_
  16. #include <boost/log/detail/config.hpp>
  17. #include <boost/log/detail/header.hpp>
  18. #ifdef BOOST_HAS_PRAGMA_ONCE
  19. #pragma once
  20. #endif
  21. namespace boost {
  22. BOOST_LOG_OPEN_NAMESPACE
  23. #ifndef BOOST_LOG_DOXYGEN_PASS
  24. namespace aux {
  25. namespace usestdalloc_adl_block {
  26. struct use_std_allocator {};
  27. } // namespace usestdalloc_adl_block
  28. } // namespace aux
  29. using aux::usestdalloc_adl_block::use_std_allocator;
  30. #else // BOOST_LOG_DOXYGEN_PASS
  31. /*!
  32. * \brief Tag type that indicates that a specialization of \c std::allocator should be used for allocating memory
  33. *
  34. * This tag type can be used in template parameters in various components of Boost.Log. The type itself is not an allocator type.
  35. */
  36. struct use_std_allocator {};
  37. #endif // BOOST_LOG_DOXYGEN_PASS
  38. BOOST_LOG_CLOSE_NAMESPACE // namespace log
  39. } // namespace boost
  40. #include <boost/log/detail/footer.hpp>
  41. #endif // BOOST_LOG_UTILITY_USE_STD_ALLOCATOR_HPP_INCLUDED_