⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lazy.hpp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 HPP
字号:
/*=============================================================================    Copyright (c) 2003 Joel de Guzman    Copyright (c) 2003 Vaclav Vesely    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_LAZY_HPP#define BOOST_SPIRIT_LAZY_HPP////////////////////////////////////////////////////////////////////////////////#include <boost/spirit/home/classic/namespace.hpp>#include <boost/spirit/home/classic/core/parser.hpp>#include <boost/spirit/home/classic/phoenix/actor.hpp>////////////////////////////////////////////////////////////////////////////////namespace boost { namespace spirit {BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN    ////////////////////////////////////////////////////////////////////////////    //    // lazy_parser, holds phoenix actor which returns a spirit parser.    //    ////////////////////////////////////////////////////////////////////////////    template<class ActorT>    struct lazy_parser : parser<lazy_parser<ActorT> >    {        typedef lazy_parser<ActorT> self_t;        typedef typename phoenix::actor_result<            ActorT, phoenix::tuple<> >::plain_type actor_result_t;        template<typename ScannerT>        struct result        {            typedef typename                parser_result<actor_result_t, ScannerT>::type            type;        };        lazy_parser(ActorT const& actor_)        : actor(actor_) {}        template<typename ScannerT>        typename parser_result<self_t, ScannerT>::type        parse(ScannerT const& scan) const        { return actor().parse(scan); }        ActorT actor;    };    //////////////////////////////    // lazy_p, returns lazy_parser    // Usage: lazy_p(actor)    template<class ActorT>    lazy_parser<ActorT> lazy_p(ActorT const& actor)    { return lazy_parser<ActorT>(actor); }BOOST_SPIRIT_CLASSIC_NAMESPACE_END}} // namespace BOOST_SPIRIT_CLASSIC_NS#endif // BOOST_SPIRIT_LAZY_HPP

⌨️ 快捷键说明

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