id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 8409,copy_n,anonymous,Neil Groves,"feature request: Boost.Range doesnt have a copy_n algorithm, I guess because the range already includes a ""size"". it's still useful if you need to copy N elements but don't know if the range has enough elements. you can't easily check because you don't know whether the range is random access. {{{ if(copy_n(range,size,out) != out+size) throw something; }}} {{{ template OutputIterator copy_n(Range const &r,Size s,OutputIterator const &out,std::random_access_iterator_tag){ if(s <= size(r) return range_copy(r,out); else return out; } template OutputIterator copy_n(Range const &r,Size s,OutputIterator out,InCat){ typename range_const_iterator::type it=begin(r); for(std::size_t c=0;c OutputIterator copy_n(Range const &r,Size size,OutputIterator const &out){ return detail::copy_n(r,size,out,typename range_category::type()); } }}}",Feature Requests,closed,To Be Determined,range,Boost 1.52.0,Problem,invalid,,