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.


BOOST_PP_SEQ_FILTER_S(s, pred, data, seq)


The next available BOOST_PP_SEQ_FOLD_LEFT fold step.
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.
Auxiliary data passed to pred.
The seq to be filtered.


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


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