From 28a95ce785b3a106e112db70c318f71a4c260a55 Mon Sep 17 00:00:00 2001 From: q66 Date: Sun, 5 Jul 2015 03:37:36 +0100 Subject: [PATCH] better AppenderRange --- octa/range.hh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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; }