/*============================================================================= 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(BOOST_SPIRIT_INT_APR_17_2006_0830AM) #define BOOST_SPIRIT_INT_APR_17_2006_0830AM #include #include #include namespace boost { namespace spirit { namespace qi { template struct int_parser { // check template parameter 'Radix' for validity BOOST_MPL_ASSERT_MSG( Radix == 2 || Radix == 8 || Radix == 10 || Radix == 16, not_supported_radix, ()); template struct attribute { typedef T type; }; template < typename Component , typename Iterator, typename Context , typename Skipper, typename Attribute> static bool parse( Component const& /*component*/ , Iterator& first, Iterator const& last , Context& /*context*/, Skipper const& skipper , Attribute& attr) { qi::skip(first, last, skipper); return extract_int ::call(first, last, attr); } template static std::string what(Component const& component, Context const& ctx) { return "integer"; } }; }}} #endif