filter_view.rst

来自「Boost provides free peer-reviewed portab」· RST 代码 · 共 102 行

RST
102
字号
.. Sequences/Views//filter_view.. Copyright Aleksey Gurtovoy, David Abrahams 2007... 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)filter_view===========Synopsis--------.. parsed-literal::        template<          typename Sequence        , typename Pred        >    struct filter_view    {        // |unspecified|        // |...|    };Description-----------A view into a subset of ``Sequence``\ 's elements satisfying the predicate ``Pred``.Header------.. parsed-literal::        #include <boost/mpl/filter_view.hpp>Model of--------* |Forward Sequence|Parameters----------+---------------+-----------------------------------+-----------------------------------------------+| Parameter     | Requirement                       | Description                                   |+===============+===================================+===============================================+| ``Sequence``  | |Forward Sequence|                | A sequence to wrap.                           |+---------------+-----------------------------------+-----------------------------------------------+| ``Pred``      | Unary |Lambda Expression|         | A filtering predicate.                        |+---------------+-----------------------------------+-----------------------------------------------+Expression semantics--------------------Semantics of an expression is defined only where it differs from, or is not defined in |Forward Sequence|.In the following table, ``v`` is an instance of ``filter_view``, ``s`` is an arbitrary |Forward Sequence|, ``pred`` is an unary |Lambda Expression|.+---------------------------------------+-----------------------------------------------------------+| Expression                            | Semantics                                                 |+=======================================+===========================================================+| .. parsed-literal::                   | A lazy |Forward Sequence| sequence of all the elements in ||                                       | the range |begin/end<s>| that satisfy the predicate       ||    filter_view<s,pred>                | ``pred``.                                                 ||    filter_view<s,pred>::type          |                                                           |+---------------------------------------+-----------------------------------------------------------+| ``size<v>::type``                     | The size of ``v``;                                        ||                                       | ``size<v>::value == count_if<s,pred>::value``;            ||                                       | linear complexity; see |Forward Sequence|.                |+---------------------------------------+-----------------------------------------------------------+Example-------Find the largest floating type in a sequence... parsed-literal::        typedef vector<int,float,long,float,char[50],long double,char> types;    typedef max_element<          transform_view< filter_view< types,boost::is_float<_> >, size_of<_> >        >::type iter;        BOOST_MPL_ASSERT(( is_same< deref<iter::base>::type, long double > ));See also--------|Sequences|, |Views|, |transform_view|, |joint_view|, |zip_view|, |iterator_range|

⌨️ 快捷键说明

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