better AppenderRange

master
Daniel Kolesa 2015-07-05 03:37:36 +01:00
parent 133a41850f
commit 28a95ce785
1 changed files with 3 additions and 2 deletions

View File

@ -1118,7 +1118,8 @@ ChunksRange<T> chunks(const T &it, RangeSize<T> chs) {
} }
template<typename T> template<typename T>
struct AppenderRange: OutputRange<AppenderRange<T>, typename T::Value> { struct AppenderRange: OutputRange<AppenderRange<T>, typename T::Value,
typename T::Reference, typename T::Size, typename T::Difference> {
AppenderRange(): p_data() {} AppenderRange(): p_data() {}
AppenderRange(const T &v): p_data(v) {} AppenderRange(const T &v): p_data(v) {}
AppenderRange(T &&v): p_data(octa::move(v)) {} AppenderRange(T &&v): p_data(octa::move(v)) {}
@ -1153,7 +1154,7 @@ struct AppenderRange: OutputRange<AppenderRange<T>, typename T::Value> {
typename T::Size size() const { return p_data.size(); } typename T::Size size() const { return p_data.size(); }
typename T::Size capacity() const { return p_data.capacity(); } 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); p_data.push(v);
return true; return true;
} }