|
@@ -128,12 +128,12 @@ namespace stream {
|
|
|
using clean = typename std::decay<T>::type;
|
|
using clean = typename std::decay<T>::type;
|
|
|
public:
|
|
public:
|
|
|
template <typename Stream>
|
|
template <typename Stream>
|
|
|
- stream_base(Stream && impl) {
|
|
|
|
|
|
|
+ stream_base(Stream * && impl) {
|
|
|
copy = [](void * p) { return (void*) new Stream(*(Stream*)(p)); };
|
|
copy = [](void * p) { return (void*) new Stream(*(Stream*)(p)); };
|
|
|
do_begin = [](void * p) -> iterator<T> { return ((Stream*) p)->begin(); };
|
|
do_begin = [](void * p) -> iterator<T> { return ((Stream*) p)->begin(); };
|
|
|
do_end = [](void * p) -> iterator<T> { return ((Stream*) p)->end(); };
|
|
do_end = [](void * p) -> iterator<T> { return ((Stream*) p)->end(); };
|
|
|
destroy = [](void * p) { delete ((Stream*) p); };
|
|
destroy = [](void * p) { delete ((Stream*) p); };
|
|
|
- impl_ = copy(&impl);
|
|
|
|
|
|
|
+ impl_ = impl;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
stream_base(stream_base const & other)
|
|
stream_base(stream_base const & other)
|