/*============================================================================= Copyright (c) 2001-2010 Andrey Semashev http://spirit.sourceforge.net/ 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) =============================================================================*/ #ifndef BOOST_SPIRIT_HOME_SUPPORT_DETAIL_ENCODING_SPECIFIC_IMPL_HPP_INCLUDED_ #define BOOST_SPIRIT_HOME_SUPPORT_DETAIL_ENCODING_SPECIFIC_IMPL_HPP_INCLUDED_ #if defined(_MSC_VER) #pragma once #endif namespace boost { namespace spirit { namespace detail { template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > struct encoding_specific_impl { static const CharT char_; static const StringT string; static const AlnumT alnum; static const AlphaT alpha; static const BlankT blank; static const CntrlT cntrl; static const DigitT digit; static const GraphT graph; static const PrintT print; static const PunctT punct; static const SpaceT space; static const XdigitT xdigit; static const NoCaseT no_case; static const LowerT lower; static const UpperT upper; static const LowerNumT lowernum; static const UpperNumT uppernum; }; template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const CharT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::char_ = CharT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const StringT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::string = StringT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const AlnumT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::alnum = AlnumT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const AlphaT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::alpha = AlphaT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const BlankT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::blank = BlankT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const CntrlT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::cntrl = CntrlT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const DigitT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::digit = DigitT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const GraphT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::graph = GraphT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const PrintT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::print = PrintT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const PunctT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::punct = PunctT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const SpaceT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::space = SpaceT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const XdigitT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::xdigit = XdigitT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const NoCaseT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::no_case = NoCaseT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const LowerT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::lower = LowerT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const UpperT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::upper = UpperT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const LowerNumT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::lowernum = LowerNumT(); template< typename CharT, typename StringT, typename AlnumT, typename AlphaT, typename BlankT, typename CntrlT, typename DigitT, typename GraphT, typename PrintT, typename PunctT, typename SpaceT, typename XdigitT, typename NoCaseT, typename LowerT, typename UpperT, typename LowerNumT, typename UpperNumT > const UpperNumT encoding_specific_impl< CharT, StringT, AlnumT, AlphaT, BlankT, CntrlT, DigitT, GraphT, PrintT, PunctT, SpaceT, XdigitT, NoCaseT, LowerT, UpperT, LowerNumT, UpperNumT >::uppernum = UpperNumT(); } // namespace detail } // namespace spirit } // namespace boost #endif // BOOST_SPIRIT_HOME_SUPPORT_DETAIL_ENCODING_SPECIFIC_IMPL_HPP_INCLUDED_