scoped_enum_emulation.hpp 775 B

12345678910111213141516171819202122232425262728
  1. // Copyright (c) 2001-2011 Hartmut Kaiser
  2. // http://spirit.sourceforge.net/
  3. //
  4. // Distributed under the Boost Software License, Version 1.0. (See accompanying
  5. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6. #ifndef BOOST_SPIRIT_SCOPED_ENUM_EMULATION_HPP
  7. #define BOOST_SPIRIT_SCOPED_ENUM_EMULATION_HPP
  8. #if defined(_MSC_VER)
  9. #pragma once
  10. #endif
  11. #include <boost/version.hpp>
  12. #include <boost/config.hpp>
  13. #if BOOST_VERSION >= 104000
  14. # include <boost/detail/scoped_enum_emulation.hpp>
  15. #else
  16. # if !defined(BOOST_NO_CXX11_SCOPED_ENUMS)
  17. # define BOOST_NO_CXX11_SCOPED_ENUMS
  18. # endif
  19. # define BOOST_SCOPED_ENUM_START(name) struct name { enum enum_type
  20. # define BOOST_SCOPED_ENUM_END };
  21. # define BOOST_SCOPED_ENUM(name) name::enum_type
  22. #endif
  23. #endif