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 + -
显示快捷键?