diff --git a/octa/range.hh b/octa/range.hh index b8d36d6..230e2b4 100644 --- a/octa/range.hh +++ b/octa/range.hh @@ -1118,7 +1118,8 @@ ChunksRange chunks(const T &it, RangeSize chs) { } template -struct AppenderRange: OutputRange, typename T::Value> { +struct AppenderRange: OutputRange, typename T::Value, + typename T::Reference, typename T::Size, typename T::Difference> { AppenderRange(): p_data() {} AppenderRange(const T &v): p_data(v) {} AppenderRange(T &&v): p_data(octa::move(v)) {} @@ -1153,7 +1154,7 @@ struct AppenderRange: OutputRange, typename T::Value> { typename T::Size size() const { return p_data.size(); } typename T::Size capacity() const { return p_data.capacity(); } - bool put(const typename T::Value &v) { + bool put(typename T::ConstReference v) { p_data.push(v); return true; }