#ifndef BOOST_MPL_FILTER_VIEW_HPP_INCLUDED #define BOOST_MPL_FILTER_VIEW_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2000-2004 // // 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) // // See http://www.boost.org/libs/mpl for documentation. // $Id$ // $Date$ // $Revision$ #include #include #include #include namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(Predicate) > struct filter_view { private: typedef typename lambda::type pred_; typedef typename begin::type first_; typedef typename end::type last_; public: struct tag; typedef filter_view type; typedef typename aux::next_filter_iter< first_,last_,pred_ >::type begin; typedef aux::filter_iter< last_,last_,pred_ > end; }; BOOST_MPL_AUX_NA_SPEC(2, filter_view) }} #endif // BOOST_MPL_FILTER_VIEW_HPP_INCLUDED