core.hpp 759 B

123456789101112131415161718192021222324
  1. // Copyright (c) 2016-2024 Antony Polukhin
  2. //
  3. // Distributed under the Boost Software License, Version 1.0. (See accompanying
  4. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  5. #ifndef BOOST_PFR_DETAIL_CORE_HPP
  6. #define BOOST_PFR_DETAIL_CORE_HPP
  7. #pragma once
  8. #include <boost/pfr/detail/config.hpp>
  9. // Each core provides `boost::pfr::detail::tie_as_tuple` and
  10. // `boost::pfr::detail::for_each_field_dispatcher` functions.
  11. //
  12. // The whole PFR library is build on top of those two functions.
  13. #if BOOST_PFR_USE_CPP17
  14. # include <boost/pfr/detail/core17.hpp>
  15. #elif BOOST_PFR_USE_LOOPHOLE
  16. # include <boost/pfr/detail/core14_loophole.hpp>
  17. #else
  18. # include <boost/pfr/detail/core14_classic.hpp>
  19. #endif
  20. #endif // BOOST_PFR_DETAIL_CORE_HPP