util/{Const,Writable}Buffer: add operator[]
This commit is contained in:
@@ -63,7 +63,7 @@ bool TextInputStream::ReadLine(std::string &line)
|
||||
the current line */
|
||||
dest = buffer.Write();
|
||||
assert(!dest.IsEmpty());
|
||||
dest.data[0] = '\n';
|
||||
dest[0] = '\n';
|
||||
buffer.Append(1);
|
||||
}
|
||||
} while (p == nullptr);
|
||||
|
@@ -85,7 +85,7 @@ pcm_resample_fallback(PcmBuffer &buffer,
|
||||
while (dest_pos < dest_samples) {
|
||||
unsigned src_pos = dest_pos * src_rate / dest_rate;
|
||||
|
||||
dest_buffer[dest_pos++] = src.data[src_pos];
|
||||
dest_buffer[dest_pos++] = src[src_pos];
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
@@ -93,8 +93,8 @@ pcm_resample_fallback(PcmBuffer &buffer,
|
||||
unsigned src_pos = dest_pos * src_rate / dest_rate;
|
||||
src_pos &= ~1;
|
||||
|
||||
dest_buffer[dest_pos++] = src.data[src_pos];
|
||||
dest_buffer[dest_pos++] = src.data[src_pos + 1];
|
||||
dest_buffer[dest_pos++] = src[src_pos];
|
||||
dest_buffer[dest_pos++] = src[src_pos + 1];
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@@ -143,6 +143,17 @@ struct ConstBuffer {
|
||||
constexpr const_iterator cend() const {
|
||||
return data + size;
|
||||
}
|
||||
|
||||
#ifdef NDEBUG
|
||||
constexpr
|
||||
#endif
|
||||
const T &operator[](size_type i) const {
|
||||
#ifndef NDEBUG
|
||||
assert(i < size);
|
||||
#endif
|
||||
|
||||
return data[i];
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -145,6 +145,17 @@ struct WritableBuffer {
|
||||
constexpr const_iterator cend() const {
|
||||
return data + size;
|
||||
}
|
||||
|
||||
#ifdef NDEBUG
|
||||
constexpr
|
||||
#endif
|
||||
T &operator[](size_type i) const {
|
||||
#ifndef NDEBUG
|
||||
assert(i < size);
|
||||
#endif
|
||||
|
||||
return data[i];
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user