/*============================================================================= Copyright (c) 2001-2011 Hartmut Kaiser Copyright (c) 2001-2011 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(BOOST_SPIRIT_STANDARD_APRIL_26_2006_1106PM) #define BOOST_SPIRIT_STANDARD_APRIL_26_2006_1106PM #if defined(_MSC_VER) #pragma once #endif #include #include namespace boost { namespace spirit { namespace char_encoding { /////////////////////////////////////////////////////////////////////////// // Test characters for specified conditions (using std functions) /////////////////////////////////////////////////////////////////////////// struct standard { typedef char char_type; static bool isascii_(int ch) { return 0 == (ch & ~0x7f); } static bool ischar(int ch) { // uses all 8 bits // we have to watch out for sign extensions return (0 == (ch & ~0xff) || ~0 == (ch | 0xff)) ? true : false; } static int isalnum(int ch) { return std::isalnum(ch); } static int isalpha(int ch) { return std::isalpha(ch); } static int isdigit(int ch) { return std::isdigit(ch); } static int isxdigit(int ch) { return std::isxdigit(ch); } static int iscntrl(int ch) { return std::iscntrl(ch); } static int isgraph(int ch) { return std::isgraph(ch); } static int islower(int ch) { return std::islower(ch); } static int isprint(int ch) { return std::isprint(ch); } static int ispunct(int ch) { return std::ispunct(ch); } static int isspace(int ch) { return std::isspace(ch); } static int isblank BOOST_PREVENT_MACRO_SUBSTITUTION (int ch) { return (ch == ' ' || ch == '\t'); } static int isupper(int ch) { return std::isupper(ch); } /////////////////////////////////////////////////////////////////////////////// // Simple character conversions /////////////////////////////////////////////////////////////////////////////// static int tolower(int ch) { return std::tolower(ch); } static int toupper(int ch) { return std::toupper(ch); } static ::boost::uint32_t toucs4(int ch) { return ch; } }; }}} #endif