diff options
Diffstat (limited to 'src/third_party/boost-1.56.0/boost/spirit/home/classic/core/composite/impl/directives.ipp')
-rw-r--r-- | src/third_party/boost-1.56.0/boost/spirit/home/classic/core/composite/impl/directives.ipp | 210 |
1 files changed, 0 insertions, 210 deletions
diff --git a/src/third_party/boost-1.56.0/boost/spirit/home/classic/core/composite/impl/directives.ipp b/src/third_party/boost-1.56.0/boost/spirit/home/classic/core/composite/impl/directives.ipp deleted file mode 100644 index 96b2dd79c59..00000000000 --- a/src/third_party/boost-1.56.0/boost/spirit/home/classic/core/composite/impl/directives.ipp +++ /dev/null @@ -1,210 +0,0 @@ -/*============================================================================= - Copyright (c) 1998-2003 Joel de Guzman - Copyright (c) 2001 Daniel Nuffer - Copyright (c) 2001 Bruce Florman - Copyright (c) 2002 Raghavendra Satish - http://spirit.sourceforge.net/ - - Use, modification and distribution is subject to 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_DIRECTIVES_IPP) -#define BOOST_SPIRIT_DIRECTIVES_IPP - -/////////////////////////////////////////////////////////////////////////////// -#include <boost/spirit/home/classic/core/scanner/skipper.hpp> - -namespace boost { namespace spirit { - -BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN - - template <typename BaseT> - struct no_skipper_iteration_policy; - - template <typename BaseT> - struct inhibit_case_iteration_policy; - - template <typename A, typename B> - struct alternative; - - template <typename A, typename B> - struct longest_alternative; - - template <typename A, typename B> - struct shortest_alternative; - - namespace impl - { - template <typename RT, typename ST, typename ScannerT, typename BaseT> - inline RT - contiguous_parser_parse( - ST const& s, - ScannerT const& scan, - skipper_iteration_policy<BaseT> const&) - { - typedef scanner_policies< - no_skipper_iteration_policy< - BOOST_DEDUCED_TYPENAME ScannerT::iteration_policy_t>, - BOOST_DEDUCED_TYPENAME ScannerT::match_policy_t, - BOOST_DEDUCED_TYPENAME ScannerT::action_policy_t - > policies_t; - - scan.skip(scan); - RT hit = s.parse(scan.change_policies(policies_t(scan))); - // We will not do a post skip!!! - return hit; - } - - template <typename RT, typename ST, typename ScannerT, typename BaseT> - inline RT - contiguous_parser_parse( - ST const& s, - ScannerT const& scan, - no_skipper_iteration_policy<BaseT> const&) - { - return s.parse(scan); - } - - template <typename RT, typename ST, typename ScannerT> - inline RT - contiguous_parser_parse( - ST const& s, - ScannerT const& scan, - iteration_policy const&) - { - return s.parse(scan); - } - - template < - typename RT, - typename ParserT, - typename ScannerT, - typename BaseT> - inline RT - implicit_lexeme_parse( - ParserT const& p, - ScannerT const& scan, - skipper_iteration_policy<BaseT> const&) - { - typedef scanner_policies< - no_skipper_iteration_policy< - BOOST_DEDUCED_TYPENAME ScannerT::iteration_policy_t>, - BOOST_DEDUCED_TYPENAME ScannerT::match_policy_t, - BOOST_DEDUCED_TYPENAME ScannerT::action_policy_t - > policies_t; - - scan.skip(scan); - RT hit = p.parse_main(scan.change_policies(policies_t(scan))); - // We will not do a post skip!!! - return hit; - } - - template < - typename RT, - typename ParserT, - typename ScannerT, - typename BaseT> - inline RT - implicit_lexeme_parse( - ParserT const& p, - ScannerT const& scan, - no_skipper_iteration_policy<BaseT> const&) - { - return p.parse_main(scan); - } - - template <typename RT, typename ParserT, typename ScannerT> - inline RT - implicit_lexeme_parse( - ParserT const& p, - ScannerT const& scan, - iteration_policy const&) - { - return p.parse_main(scan); - } - - template <typename RT, typename ST, typename ScannerT> - inline RT - inhibit_case_parser_parse( - ST const& s, - ScannerT const& scan, - iteration_policy const&) - { - typedef scanner_policies< - inhibit_case_iteration_policy< - BOOST_DEDUCED_TYPENAME ScannerT::iteration_policy_t>, - BOOST_DEDUCED_TYPENAME ScannerT::match_policy_t, - BOOST_DEDUCED_TYPENAME ScannerT::action_policy_t - > policies_t; - - return s.parse(scan.change_policies(policies_t(scan))); - } - - template <typename RT, typename ST, typename ScannerT, typename BaseT> - inline RT - inhibit_case_parser_parse( - ST const& s, - ScannerT const& scan, - inhibit_case_iteration_policy<BaseT> const&) - { - return s.parse(scan); - } - - template <typename T> - struct to_longest_alternative - { - typedef T result_t; - static result_t const& - convert(T const& a) // Special (end) case - { return a; } - }; - - template <typename A, typename B> - struct to_longest_alternative<alternative<A, B> > - { - typedef typename to_longest_alternative<A>::result_t a_t; - typedef typename to_longest_alternative<B>::result_t b_t; - typedef longest_alternative<a_t, b_t> result_t; - - static result_t - convert(alternative<A, B> const& alt) // Recursive case - { - return result_t( - to_longest_alternative<A>::convert(alt.left()), - to_longest_alternative<B>::convert(alt.right())); - } - }; - - template <typename T> - struct to_shortest_alternative - { - typedef T result_t; - static result_t const& - convert(T const& a) // Special (end) case - { return a; } - }; - - template <typename A, typename B> - struct to_shortest_alternative<alternative<A, B> > - { - typedef typename to_shortest_alternative<A>::result_t a_t; - typedef typename to_shortest_alternative<B>::result_t b_t; - typedef shortest_alternative<a_t, b_t> result_t; - - static result_t - convert(alternative<A, B> const& alt) // Recursive case - { - return result_t( - to_shortest_alternative<A>::convert(alt.left()), - to_shortest_alternative<B>::convert(alt.right())); - } - }; - } - -BOOST_SPIRIT_CLASSIC_NAMESPACE_END - -}} // namespace boost::spirit - -#endif - |