aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/util/ConstBuffer.hxx14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/util/ConstBuffer.hxx b/src/util/ConstBuffer.hxx
index 4d0a49e98..b98a8b543 100644
--- a/src/util/ConstBuffer.hxx
+++ b/src/util/ConstBuffer.hxx
@@ -246,6 +246,20 @@ struct ConstBuffer {
data += n;
size -= n;
}
+
+ /**
+ * Move the front pointer to the given address, and adjust the
+ * size attribute to retain the old end address.
+ */
+ void MoveFront(pointer_type new_data) {
+#ifndef NDEBUG
+ assert(IsNull() == (new_data == nullptr));
+ assert(new_data <= end());
+#endif
+
+ size = end() - new_data;
+ data = new_data;
+ }
};
#endif