Utils: Add senf::copy_range
g0dil [Mon, 28 Sep 2009 19:42:27 +0000 (19:42 +0000)]
git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@1456 270642c3-0616-0410-b53a-bc976706d245

senf/Utils/Range.cti
senf/Utils/Range.hh

index 38744c3..016b4ad 100644 (file)
@@ -52,6 +52,18 @@ senf::make_transform_range(Range & range, Fn const & fn)
         boost::make_transform_iterator(boost::end(range), fn) );
 }
 
+template <class Range, class Iterator>
+prefix_ void senf::copy_range(Range const & range, Iterator const & i)
+{
+    std::copy(boost::begin(range), boost::end(range), i);
+}
+
+template <class Range, class Iterator>
+prefix_ void senf::copy_range(Range & range, Iterator const & i)
+{
+    std::copy(boost::begin(range), boost::end(range), i);
+}
+
 ///////////////////////////////cti.e///////////////////////////////////////
 #undef prefix_
 
index 6f9ef84..9b8462b 100644 (file)
@@ -52,6 +52,12 @@ namespace senf {
                                    typename boost::range_iterator<Range>::type > >
     make_transform_range(Range & range, Fn const & fn);
 
+    template <class Range, class Iterator>
+    void copy_range(Range const & range, Iterator const & i);
+
+    template <class Range, class Iterator>
+    void copy_range(Range & range, Iterator const & i);
+
 }
 
 ///////////////////////////////hh.e////////////////////////////////////////