Chris@102: /*============================================================================= Chris@102: Copyright (c) 2001-2014 Joel de Guzman Chris@102: Chris@102: Distributed under the Boost Software License, Version 1.0. (See accompanying Chris@102: file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@102: ==============================================================================*/ Chris@102: #if !defined(BOOST_SPIRIT_X3_CHAR_APRIL_16_2006_1051AM) Chris@102: #define BOOST_SPIRIT_X3_CHAR_APRIL_16_2006_1051AM Chris@102: Chris@102: #if defined(_MSC_VER) Chris@102: #pragma once Chris@102: #endif Chris@102: Chris@102: #include Chris@102: #include Chris@102: #include Chris@102: #include Chris@102: Chris@102: namespace boost { namespace spirit { namespace x3 Chris@102: { Chris@102: namespace standard Chris@102: { Chris@102: typedef any_char char_type; Chris@102: char_type const char_ = char_type(); Chris@102: } Chris@102: Chris@102: using standard::char_type; Chris@102: using standard::char_; Chris@102: Chris@102: namespace standard_wide Chris@102: { Chris@102: typedef any_char char_type; Chris@102: char_type const char_ = char_type(); Chris@102: } Chris@102: Chris@102: namespace ascii Chris@102: { Chris@102: typedef any_char char_type; Chris@102: char_type const char_ = char_type(); Chris@102: } Chris@102: Chris@102: namespace extension Chris@102: { Chris@102: template <> Chris@102: struct as_parser Chris@102: { Chris@102: typedef literal_char< Chris@102: char_encoding::standard, unused_type> Chris@102: type; Chris@102: Chris@102: typedef type value_type; Chris@102: Chris@102: static type call(char ch) Chris@102: { Chris@102: return type(ch); Chris@102: } Chris@102: }; Chris@102: Chris@102: template <> Chris@102: struct as_parser Chris@102: { Chris@102: typedef literal_char< Chris@102: char_encoding::standard_wide, unused_type> Chris@102: type; Chris@102: Chris@102: typedef type value_type; Chris@102: Chris@102: static type call(wchar_t ch) Chris@102: { Chris@102: return type(ch); Chris@102: } Chris@102: }; Chris@102: } Chris@102: Chris@102: inline literal_char Chris@102: lit(char ch) Chris@102: { Chris@102: return literal_char(ch); Chris@102: } Chris@102: Chris@102: inline literal_char Chris@102: lit(wchar_t ch) Chris@102: { Chris@102: return literal_char(ch); Chris@102: } Chris@102: }}} Chris@102: Chris@102: #endif