Skip to content

Commit 395e704

Browse files
committed
Corrects support for temporaries in takewhile
1 parent 46e75b4 commit 395e704

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

takewhile.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)