The BOOST_PP_SEQ_FILTER_S macro filters a seq according to a supplied criterion.  It reenters BOOST_PP_SEQ_FOLD_LEFT with maximum efficiency.

Usage

BOOST_PP_SEQ_FILTER_S(s, pred, data, seq)

Arguments

s
The next available BOOST_PP_SEQ_FOLD_LEFT fold step.
pred
A ternary predicate of the form pred(s, data, elem).  This predicate is expanded by BOOST_PP_SEQ_FILTER for each element in seq with the next available BOOST_PP_SEQ_FOLD_LEFT fold step, the auxiliary data, and the current element in seq.  This macro must return a integral value in the range of 0 to BOOST_PP_LIMIT_MAG.  If this predicate expands to non-zero for a certain element, that element is included in the resulting seq.
data
Auxiliary data passed to pred.
seq
The seq to be filtered.

Remarks

This macro expands pred for each element in seq.  It builds a new seq out of each element for which pred returns non-zero.

See Also

Requirements

Header:  <boost/preprocessor/seq/filter.hpp>

Copyright Housemarque Oy 2002
Copyright Paul Mensonides 2002

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)