1// Copyright Neil Groves 2010. Use, modification and
2// distribution is subject to the Boost Software License, Version
3// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4// http://www.boost.org/LICENSE_1_0.txt)
5//
6//
7// For more information, see http://www.boost.org/libs/range/
8//
9#ifndef BOOST_RANGE_COMBINE_HPP
10#define BOOST_RANGE_COMBINE_HPP
11
12#include <boost/config.hpp>
13#include <boost/range/iterator_range_core.hpp>
14#include <boost/iterator/zip_iterator.hpp>
15
16namespace boost
17{
18 namespace range
19 {
20
21template<typename IterTuple>
22class combined_range
23 : public iterator_range<zip_iterator<IterTuple> >
24{
25 typedef iterator_range<zip_iterator<IterTuple> > base;
26public:
27 combined_range(IterTuple first, IterTuple last)
28 : base(first, last)
29 {
30 }
31};
32
33 } // namespace range
34} // namespace boost
35
36#if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) || \
37 defined(BOOST_NO_CXX11_DECLTYPE) || \
38 defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || \
39 defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
40# include <boost/range/detail/combine_cxx03.hpp>
41#else
42# include <boost/range/detail/combine_cxx11.hpp>
43#endif
44
45#endif
46

source code of boost/boost/range/combine.hpp