/Src/Dependencies/Boost/boost/spirit/home/qi/skip_over.hpp
http://hadesmem.googlecode.com/ · C++ Header · 44 lines · 26 code · 7 blank · 11 comment · 3 complexity · 4e3bd82cdb228b4a5dd7410b49ebe3ad MD5 · raw file
- /*=============================================================================
- 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_SKIP_APRIL_16_2006_0625PM)
- #define BOOST_SPIRIT_SKIP_APRIL_16_2006_0625PM
- #if defined(_MSC_VER)
- #pragma once
- #endif
- #include <boost/spirit/home/support/unused.hpp>
- #include <boost/spirit/home/qi/detail/unused_skipper.hpp>
- namespace boost { namespace spirit { namespace qi
- {
- ///////////////////////////////////////////////////////////////////////////
- // Move the /first/ iterator to the first non-matching position
- // given a skip-parser. The function is a no-op if unused_type is
- // passed as the skip-parser.
- ///////////////////////////////////////////////////////////////////////////
- template <typename Iterator, typename T>
- inline void skip_over(Iterator& first, Iterator const& last, T const& skipper)
- {
- while (first != last && skipper.parse(first, last, unused, unused, unused))
- /***/;
- }
- template <typename Iterator>
- inline void skip_over(Iterator&, Iterator const&, unused_type)
- {
- }
- template <typename Iterator, typename Skipper>
- inline void skip_over(Iterator&, Iterator const&
- , detail::unused_skipper<Skipper> const&)
- {
- }
- }}}
- #endif