summaryrefslogtreecommitdiff
path: root/fastbuffer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'fastbuffer.hpp')
-rw-r--r--fastbuffer.hpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/fastbuffer.hpp b/fastbuffer.hpp
index d6ac8d5..c9275a1 100644
--- a/fastbuffer.hpp
+++ b/fastbuffer.hpp
@@ -42,6 +42,11 @@ public:
std::copy(to_add.begin(), to_add.end(), &m_buffer[m_bufferUsed]);
m_bufferUsed += to_add.size();
}
+ void operator+=(const std::string &to_add) {
+ checkFreeSpace(to_add.size());
+ std::copy(to_add.begin(), to_add.end(), &m_buffer[m_bufferUsed]);
+ m_bufferUsed += to_add.size();
+ }
void operator-=(std::size_t consume_size) {
const auto unconsumed_space = unconsumed();
checkConsumableSpace(consume_size);
@@ -130,6 +135,10 @@ public:
m_packets[m_packetsUsed++].size = to_add.size();
m_buffer += to_add;
}
+ void operator+=(const std::string &to_add) {
+ m_packets[m_packetsUsed++].size = to_add.length();
+ m_buffer += to_add;
+ }
void operator--() {
const auto consume_size = m_packets[m_packetsOffset].size;
m_buffer -= consume_size;