/*============================================================================= Copyright (c) 2003 Joel de Guzman Use, modification and distribution is subject to 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) ==============================================================================*/ #if !defined(FUSION_ALGORITHM_FILTER_HPP) #define FUSION_ALGORITHM_FILTER_HPP #include namespace boost { namespace fusion { namespace meta { template struct filter { typedef filter_view type; }; } namespace function { struct filter { template struct apply : meta::filter {}; template typename apply::type operator()(Sequence const& seq, Pred) const { return filter_view(seq); } template typename apply::type operator()(Sequence& seq, Pred) const { return filter_view(seq); } }; } function::filter const filter = function::filter(); }} #endif