ref_const_ref_actor.hpp

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

HPP
74
字号
/*=============================================================================    Copyright (c) 2003 Jonathan de Halleux (dehalleux@pelikhan.com)    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)=============================================================================*/#ifndef BOOST_SPIRIT_ACTOR_REF_CONST_REF_ACTOR_HPP#define BOOST_SPIRIT_ACTOR_REF_CONST_REF_ACTOR_HPPnamespace boost { namespace spirit {    ///////////////////////////////////////////////////////////////////////////    //  Summary:    //  A semantic action policy holder. This holder stores a reference to ref    //  and a const reference to value_ref.    //  act methods are feed with ref and value_ref. The parse result is    //  not used by this holder.    //    //  (This doc uses convention available in actors.hpp)    //    //  Constructor:    //      ...(T& ref_, ValueT const& value_ref_);    //      where ref_ and value_ref_ are stored in the holder.    //    //  Action calls:    //      act(ref, value_ref);    //    //  () operators: both    //    ///////////////////////////////////////////////////////////////////////////    template<        typename T,        typename ValueT,        typename ActionT    >    class ref_const_ref_actor : public ActionT    {    private:        T& ref;        ValueT const& value_ref;    public:        ref_const_ref_actor(            T& ref_,            ValueT const& value_ref_            )        :            ref(ref_),            value_ref(value_ref_)        {}        template<typename T2>        void operator()(T2 const& /*val*/) const        {            this->act(ref,value_ref); // defined in ActionT        }        template<typename IteratorT>            void operator()(            IteratorT const& /*first*/,            IteratorT const& /*last*/            ) const        {            this->act(ref,value_ref); // defined in ActionT        }    };}}#endif

⌨️ 快捷键说明

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