blob: e390e28127105aa6d56e9cba33ac07d9c59d74b9 [file] [log] [blame]
/*=============================================================================
Copyright (c) 2001-2009 Hartmut Kaiser
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_APR_26_2006_1106PM)
#define BOOST_SPIRIT_STANDARD_APR_26_2006_1106PM
#include <cctype>
namespace boost { namespace spirit { namespace char_class
{
///////////////////////////////////////////////////////////////////////////
// Test characters for specified conditions (using std functions)
///////////////////////////////////////////////////////////////////////////
struct standard
{
typedef char char_type;
static bool
is_ascii(int ch)
{
return (0 == (ch & ~0x7f)) ? 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);
}
};
}}}
#endif