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>));
The Department of Theoretical Physics namespace as we define it.
OutputIterator copy_k_of_n(InputIterator it, Size1 k, Size2 n, OutputIterator out)
Definition: copy_k_of_n.h:58