parser.ipp

来自「CGAL is a collaborative effort of severa」· IPP 代码 · 共 52 行

IPP
52
字号
/*=============================================================================    Copyright (c) 1998-2003 Joel de Guzman    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_PARSER_IPP)#define BOOST_SPIRIT_PARSER_IPPnamespace boost { namespace spirit{    ///////////////////////////////////////////////////////////////////////////    //    //  Generic parse function implementation    //    ///////////////////////////////////////////////////////////////////////////    template <typename IteratorT, typename DerivedT>    inline parse_info<IteratorT>    parse(        IteratorT const& first_      , IteratorT const& last      , parser<DerivedT> const& p)    {        IteratorT first = first_;        scanner<IteratorT, scanner_policies<> > scan(first, last);        match<nil_t> hit = p.derived().parse(scan);        return parse_info<IteratorT>(            first, hit, hit && (first == last), hit.length());    }    ///////////////////////////////////////////////////////////////////////////    //    //  Parse function for null terminated strings implementation    //    ///////////////////////////////////////////////////////////////////////////    template <typename CharT, typename DerivedT>    inline parse_info<CharT const*>    parse(CharT const* str, parser<DerivedT> const& p)    {        CharT const* last = str;        while (*last)            last++;        return parse(str, last, p);    }}} // namespace boost::spirit#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?