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 7 #ifndef BOOST_SPIRIT_SCOPED_ENUM_EMULATION_HPP 8 #define BOOST_SPIRIT_SCOPED_ENUM_EMULATION_HPP 9 10 #if defined(_MSC_VER) 11 #pragma once 12 #endif 13 14 #include <boost/version.hpp> 15 #include <boost/config.hpp> 16 17 #if BOOST_VERSION >= 105600 18 # include <boost/core/scoped_enum.hpp> 19 #elif BOOST_VERSION >= 104000 20 # include <boost/detail/scoped_enum_emulation.hpp> 21 #else 22 # if !defined(BOOST_NO_CXX11_SCOPED_ENUMS) 23 # define BOOST_NO_CXX11_SCOPED_ENUMS 24 # endif 25 # define BOOST_SCOPED_ENUM_START(name) struct name { enum enum_type 26 # define BOOST_SCOPED_ENUM_END }; 27 # define BOOST_SCOPED_ENUM(name) name::enum_type 28 #endif 29 30 #endif 31