@@ -70,15 +70,15 @@ void segmented_generate_dispatch
7070template <class FwdIt , class Sent , class Generator , class Tag , class Cat >
7171 BOOST_CONTAINER_FORCEINLINE typename algo_enable_if_c<
7272 !Tag::value || is_sentinel<Sent, FwdIt>::value>::type
73- segmented_generate_dispatch (FwdIt first, Sent last, Generator gen, Tag, Cat)
73+ segmented_generate_dispatch (FwdIt first, Sent last, Generator & gen, Tag, Cat)
7474{
7575 for (; first != last; ++first)
7676 *first = gen ();
7777}
7878
7979template <class SegIter , class Generator , class Cat >
8080void segmented_generate_dispatch
81- (SegIter first, SegIter last, Generator gen, segmented_iterator_tag, Cat)
81+ (SegIter first, SegIter last, Generator & gen, segmented_iterator_tag, Cat)
8282{
8383 typedef segmented_iterator_traits<SegIter> traits;
8484 typedef typename traits::local_iterator local_iterator;
@@ -90,15 +90,15 @@ void segmented_generate_dispatch
9090 segment_iterator slast = traits::segment (last);
9191
9292 if (sfirst == slast) {
93- (segmented_generate_dispatch)(traits::local (first), traits::local (last), boost::move ( gen) , is_local_seg_t (), local_cat_t ());
93+ (segmented_generate_dispatch)(traits::local (first), traits::local (last), gen, is_local_seg_t (), local_cat_t ());
9494 }
9595 else {
96- (segmented_generate_dispatch)(traits::local (first), traits::end (sfirst), boost::move ( gen) , is_local_seg_t (), local_cat_t ());
96+ (segmented_generate_dispatch)(traits::local (first), traits::end (sfirst), gen, is_local_seg_t (), local_cat_t ());
9797
9898 for (++sfirst; sfirst != slast; ++sfirst)
99- (segmented_generate_dispatch)(traits::begin (sfirst), traits::end (sfirst), boost::move ( gen) , is_local_seg_t (), local_cat_t ());
99+ (segmented_generate_dispatch)(traits::begin (sfirst), traits::end (sfirst), gen, is_local_seg_t (), local_cat_t ());
100100
101- (segmented_generate_dispatch)(traits::begin (sfirst), traits::local (last), boost::move ( gen) , is_local_seg_t (), local_cat_t ());
101+ (segmented_generate_dispatch)(traits::begin (sfirst), traits::local (last), gen, is_local_seg_t (), local_cat_t ());
102102 }
103103}
104104
@@ -113,7 +113,7 @@ void segmented_generate(FwdIt first, Sent last, Generator gen)
113113{
114114 typedef segmented_iterator_traits<FwdIt> traits;
115115 detail_algo::segmented_generate_dispatch
116- (first, last, boost::move ( gen) , typename traits::is_segmented_iterator (), typename iterator_traits<FwdIt>::iterator_category ());
116+ (first, last, gen, typename traits::is_segmented_iterator (), typename iterator_traits<FwdIt>::iterator_category ());
117117}
118118
119119} // namespace container
0 commit comments