{
typedef typename Encoding::char_type char_type;
-#define BOOST_SPIRIT_X3_CLASSIFY(name) \
+#define BOOST_SPIRIT_X3_CLASSIFY(name) \
template <typename Char> \
static bool \
is(name##_tag, Char ch) \
template <typename Char, typename Context>
bool test(Char ch, Context const& context) const
{
- return ((sizeof(Char) <= sizeof(char_type)) || encoding::ischar(ch))
+ return encoding::ischar(ch)
&& char_class_base<Encoding>::is(
get_case_compare<Encoding>(context).get_char_class_tag(tag()), ch);
}
};
#define BOOST_SPIRIT_X3_CHAR_CLASS(encoding, name) \
- typedef char_class<char_encoding::encoding, name##_tag> name##_type; \
- name##_type const name = name##_type(); \
+ typedef char_class<char_encoding::encoding, name##_tag> name##_type; \
+ name##_type const name = name##_type(); \
/***/
#define BOOST_SPIRIT_X3_CHAR_CLASSES(encoding) \
- namespace encoding \
- { \
+ namespace encoding \
+ { \
BOOST_SPIRIT_X3_CHAR_CLASS(encoding, alnum) \
BOOST_SPIRIT_X3_CHAR_CLASS(encoding, alpha) \
BOOST_SPIRIT_X3_CHAR_CLASS(encoding, digit) \
BOOST_SPIRIT_X3_CHAR_CLASS(encoding, space) \
BOOST_SPIRIT_X3_CHAR_CLASS(encoding, blank) \
BOOST_SPIRIT_X3_CHAR_CLASS(encoding, upper) \
- } \
+ } \
/***/
BOOST_SPIRIT_X3_CHAR_CLASSES(standard)