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

📄 inserter_.rst

📁 C++的一个好库。。。现在很流行
💻 RST
字号:
.. Algorithms/Inserters//inserter

|+inserter+|
================

.. _`inserter_`:

Synopsis
--------

.. parsed-literal::
    
    template<
          typename State
        , typename Operation
        >
    struct inserter
    {
        typedef State state;
        typedef Operation operation;
    };


Description
-----------

A general-purpose model of the |Inserter| concept. 


Header
------

.. parsed-literal::
    
    #include <boost/mpl/inserter.hpp>


Model of
--------

|Inserter|


Parameters
----------

+---------------+-------------------------------+-----------------------------------+
| Parameter     | Requirement                   | Description                       |
+===============+===============================+===================================+
| ``State``     | Any type                      | A initial state.                  |
+---------------+-------------------------------+-----------------------------------+
| ``Operation`` | Binary |Lambda Expression|    | An output operation.              |     
+---------------+-------------------------------+-----------------------------------+

Expression semantics
--------------------

|Semantics disclaimer...| |Inserter|.

For any binary |Lambda Expression| ``op`` and arbitrary type ``state``:

+---------------------------+-------------------------------------------+
| Expression                | Semantics                                 |
+===========================+===========================================+
| ``inserter<op,state>``    | An |Inserter|.                            |
+---------------------------+-------------------------------------------+

Complexity
----------

Amortized constant time.


Example
-------

.. parsed-literal::

    template< typename N > struct is_odd : bool_< ( N::value % 2 ) > {};
    
    typedef copy<
          range_c<int,0,10>
        , inserter< // a filtering 'push_back' inserter
              vector<>
            , if_< is_odd<_2>, push_back<_1,_2>, _1 >
            >
        >::type odds;
       
    BOOST_MPL_ASSERT(( equal< odds, vector_c<int,1,3,5,7,9>, equal_to<_,_> > ));


See also
--------

|Algorithms|, |Inserter|, |Reversible Algorithm|, |front_inserter|, |back_inserter|


.. |+inserter+| replace:: inserter
.. |inserter| replace:: |``inserter``|__
.. |``inserter``| replace:: :refentry:`inserter`
__ `inserter_`_

⌨️ 快捷键说明

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