summaryrefslogtreecommitdiff
path: root/include/object/stdbuf.h
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2018-11-22 15:00:12 +0100
committerDaniel Friesel <derf@finalrewind.org>2018-11-22 15:00:12 +0100
commite4b3987cc6e2cc1a28bbaf566f0fb6625e25f3ee (patch)
tree1af91b9429d2893a93531856c90122b6da278e9e /include/object/stdbuf.h
parent0770f9e077bf1dad9a977e6ad78ea0389794922b (diff)
stdbuf: Track buffer size
Diffstat (limited to 'include/object/stdbuf.h')
-rw-r--r--include/object/stdbuf.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/object/stdbuf.h b/include/object/stdbuf.h
index db30621..271c3ea 100644
--- a/include/object/stdbuf.h
+++ b/include/object/stdbuf.h
@@ -8,12 +8,17 @@ class BufferOutput : public T {
private:
BufferOutput(const BufferOutput &copy);
char *buffer;
+ uint16_t length;
public:
- BufferOutput(char *target) { buffer = target; }
+ BufferOutput(char *target) : buffer(target), length(0) {}
virtual void put(char c) {
*buffer = c;
buffer++;
+ length++;
+ }
+ inline uint16_t size() {
+ return length;
}
};