diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-10-06 10:30:07 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-10-06 10:32:57 +0900 |
commit | 71d216b90256936a9638f325af9bc69d720e75de (patch) | |
tree | 9c5f682d341c7c88ad0c8e3d4b262e00b6fb691a /boost/spirit/home/x3/char/any_char.hpp | |
parent | 733b5d5ae2c5d625211e2985ac25728ac3f54883 (diff) | |
download | boost-71d216b90256936a9638f325af9bc69d720e75de.tar.gz boost-71d216b90256936a9638f325af9bc69d720e75de.tar.bz2 boost-71d216b90256936a9638f325af9bc69d720e75de.zip |
Imported Upstream version 1.59.0
Change-Id: I2dde00f4eca71df3eea9d251dcaecde18a6c90a5
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'boost/spirit/home/x3/char/any_char.hpp')
-rw-r--r-- | boost/spirit/home/x3/char/any_char.hpp | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/boost/spirit/home/x3/char/any_char.hpp b/boost/spirit/home/x3/char/any_char.hpp index 7ff769b8b2..380645d2ff 100644 --- a/boost/spirit/home/x3/char/any_char.hpp +++ b/boost/spirit/home/x3/char/any_char.hpp @@ -7,11 +7,9 @@ #if !defined(BOOST_SPIRIT_X3_ANY_CHAR_APRIL_16_2006_1051AM) #define BOOST_SPIRIT_X3_ANY_CHAR_APRIL_16_2006_1051AM -#if defined(_MSC_VER) -#pragma once -#endif - +#include <boost/type_traits/extent.hpp> #include <boost/spirit/home/x3/char/literal_char.hpp> +#include <boost/spirit/home/x3/char/char_set.hpp> namespace boost { namespace spirit { namespace x3 { @@ -30,10 +28,39 @@ namespace boost { namespace spirit { namespace x3 } template <typename Char> - literal_char<Encoding> - operator()(Char ch) const + literal_char<Encoding> operator()(Char ch) const + { + return { ch }; + } + + template <typename Char> + literal_char<Encoding> operator()(const Char (&ch)[2]) const + { + return { ch[0] }; + } + + template <typename Char, std::size_t N> + char_set<Encoding> operator()(const Char (&ch)[N]) const + { + return { ch }; + } + + template <typename Char> + char_range<Encoding> operator()(Char from, Char to) const + { + return { from, to }; + } + + template <typename Char> + char_range<Encoding> operator()(Char (&from)[2], Char (&to)[2]) const + { + return { from[0], to[0] }; + } + + template <typename Char> + char_set<Encoding> operator()(std::basic_string<Char> const& s) const { - return literal_char<Encoding>(ch); + return { s }; } }; }}} |