71 lines
2.5 KiB
C++
Executable File
71 lines
2.5 KiB
C++
Executable File
/*=============================================================================
|
|
Copyright (c) 2001-2007 Joel de Guzman
|
|
|
|
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
=============================================================================*/
|
|
#if !defined(SPIRIT_STANDARD_WIDE_JAN_31_2006_0529PM)
|
|
#define SPIRIT_STANDARD_WIDE_JAN_31_2006_0529PM
|
|
|
|
#include <boost/spirit/home/support/char_class.hpp>
|
|
#include <boost/xpressive/proto/proto.hpp>
|
|
|
|
namespace boost { namespace spirit { namespace standard_wide
|
|
{
|
|
typedef spirit::char_class::standard_wide char_set;
|
|
namespace tag = spirit::char_class::tag;
|
|
|
|
template <typename Class>
|
|
struct make_tag
|
|
: proto::terminal<spirit::char_class::key<char_set, Class> > {};
|
|
|
|
typedef make_tag<tag::alnum>::type alnum_type;
|
|
typedef make_tag<tag::alpha>::type alpha_type;
|
|
typedef make_tag<tag::blank>::type blank_type;
|
|
typedef make_tag<tag::cntrl>::type cntrl_type;
|
|
typedef make_tag<tag::digit>::type digit_type;
|
|
typedef make_tag<tag::graph>::type graph_type;
|
|
typedef make_tag<tag::print>::type print_type;
|
|
typedef make_tag<tag::punct>::type punct_type;
|
|
typedef make_tag<tag::space>::type space_type;
|
|
typedef make_tag<tag::xdigit>::type xdigit_type;
|
|
|
|
alnum_type const alnum = {{}};
|
|
alpha_type const alpha = {{}};
|
|
blank_type const blank = {{}};
|
|
cntrl_type const cntrl = {{}};
|
|
digit_type const digit = {{}};
|
|
graph_type const graph = {{}};
|
|
print_type const print = {{}};
|
|
punct_type const punct = {{}};
|
|
space_type const space = {{}};
|
|
xdigit_type const xdigit = {{}};
|
|
|
|
typedef proto::terminal<
|
|
spirit::char_class::no_case_tag<char_set> >::type
|
|
no_case_type;
|
|
|
|
no_case_type const no_case = no_case_type();
|
|
|
|
typedef proto::terminal<
|
|
spirit::char_class::lower_case_tag<char_set> >::type
|
|
lower_type;
|
|
typedef proto::terminal<
|
|
spirit::char_class::upper_case_tag<char_set> >::type
|
|
upper_type;
|
|
|
|
lower_type const lower = lower_type();
|
|
upper_type const upper = upper_type();
|
|
|
|
#if defined(__GNUC__)
|
|
inline void silence_unused_warnings__standard_wide()
|
|
{
|
|
(void) alnum; (void) alpha; (void) blank; (void) cntrl; (void) digit;
|
|
(void) graph; (void) print; (void) punct; (void) space; (void) xdigit;
|
|
}
|
|
#endif
|
|
|
|
}}}
|
|
|
|
#endif
|