1 #ifndef theplu_yat_random_copy_k_of_n
2 #define theplu_yat_random_copy_k_of_n
27 #include <yat/utility/yat_assert.h>
29 #include <boost/concept_check.hpp>
30 #include <boost/iterator/iterator_concepts.hpp>
31 #include <boost/iterator/iterator_traits.hpp>
56 template<
typename InputIterator,
typename Size1,
typename Size2,
57 typename OutputIterator>
58 OutputIterator
copy_k_of_n(InputIterator it, Size1 k, Size2 n,
61 BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIterator<InputIterator>));
62 BOOST_CONCEPT_ASSERT((boost_concepts::SinglePassIterator<InputIterator>));
64 typedef typename boost::iterator_value<InputIterator>::type value_type;
66 BOOST_CONCEPT_ASSERT((boost_concepts::WritableIterator<OutputIterator, value_type>));
67 BOOST_CONCEPT_ASSERT((boost_concepts::IncrementableIterator<OutputIterator>));
OutputIterator copy_k_of_n(InputIterator it, Size1 k, Size2 n, OutputIterator out)
Definition: copy_k_of_n.h:58