@@ -18,24 +18,24 @@ namespace iter {
1818
1919 template <typename FilterFunc, typename T>
2020 TakeWhile<FilterFunc, std::initializer_list<T>> takewhile (
21- FilterFunc, std::initializer_list<T>&& );
21+ FilterFunc, std::initializer_list<T>);
2222
2323 template <typename FilterFunc, typename Container>
2424 class TakeWhile {
2525 private:
26- Container& container;
26+ Container container;
2727 FilterFunc filter_func;
2828
2929 friend TakeWhile takewhile<FilterFunc, Container>(
3030 FilterFunc, Container&&);
3131
3232 template <typename FF , typename T>
3333 friend TakeWhile<FF , std::initializer_list<T>> takewhile (
34- FF , std::initializer_list<T>&& );
34+ FF , std::initializer_list<T>);
3535
3636 // Value constructor for use only in the takewhile function
37- TakeWhile (FilterFunc filter_func, Container&& container)
38- : container{ container} ,
37+ TakeWhile (FilterFunc filter_func, Container container)
38+ : container(std::forward<Container>( container)) ,
3939 filter_func (filter_func)
4040 { }
4141
@@ -116,7 +116,7 @@ namespace iter {
116116
117117 template <typename FilterFunc, typename T>
118118 TakeWhile<FilterFunc, std::initializer_list<T>> takewhile (
119- FilterFunc filter_func, std::initializer_list<T>&& il)
119+ FilterFunc filter_func, std::initializer_list<T> il)
120120 {
121121 return {filter_func, std::move (il)};
122122 }
0 commit comments