Sha256: c0403be92631d1141a9e6e7d7cd643470bb77061fb28e689917361ec1895f521
Contents?: true
Size: 1.61 KB
Versions: 5
Compression:
Stored size: 1.61 KB
Contents
#ifndef BOOST_MPL_ZIP_VIEW_HPP_INCLUDED #define BOOST_MPL_ZIP_VIEW_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2000-2002 // Copyright David Abrahams 2000-2002 // // 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. // $Source: /cvsroot/boost/boost/boost/mpl/zip_view.hpp,v $ // $Date: 2004/09/02 15:40:42 $ // $Revision: 1.3 $ #include <boost/mpl/transform.hpp> #include <boost/mpl/begin_end.hpp> #include <boost/mpl/iterator_tags.hpp> #include <boost/mpl/next.hpp> #include <boost/mpl/lambda.hpp> #include <boost/mpl/deref.hpp> #include <boost/mpl/aux_/na_spec.hpp> namespace boost { namespace mpl { template< typename IteratorSeq > struct zip_iterator { typedef forward_iterator_tag category; typedef typename transform1< IteratorSeq , deref<_1> >::type type; typedef zip_iterator< typename transform1< IteratorSeq , next<_1> >::type > next; }; template< typename BOOST_MPL_AUX_NA_PARAM(Sequences) > struct zip_view { private: typedef typename transform1< Sequences, begin<_1> >::type first_ones_; typedef typename transform1< Sequences, end<_1> >::type last_ones_; public: typedef nested_begin_end_tag tag; typedef zip_iterator<first_ones_> begin; typedef zip_iterator<last_ones_> end; }; BOOST_MPL_AUX_NA_SPEC(1, zip_view) }} #endif // BOOST_MPL_ZIP_VIEW_HPP_INCLUDED
Version data entries
5 entries across 5 versions & 1 rubygems