message: Adding bulk copy function
diff: } \
  return false; \
  } \
  + bool put_##name(type* val, size_t bytes_top_copy) { \
  + if (ensure_capacity(bytes_top_copy)) { \
  + memcpy(this->buff + index, val, bytes_top_copy); \
  + index += size; \
  + return true; \
  + } \
  + return false; \
  + } \
  \
  type get_##name() { \
  if (ensure_capacity(sizeof(type))) { \
  @@ -49,6 +57,8 @@ namespace twisterx::comm {
  this->clear();
  }
  + Buffer(const Buffer &) = delete;
  +
  bool ensure_capacity(size_t size) {
  return index + size < this->limit;
  }
  @@ -57,6 +67,10 @@ namespace twisterx::comm {
  return limit - index;
  }
  + int32_t size() {
  + return this->index;
  + }
  +
  bool is_full() {
  return this->remaining() == 0;
  }
  @@ -83,6 +97,10 @@ namespace twisterx::comm {
  delete this->buff;
  this->index = 0;
  }
  +
  + byte *get_buffer() {
  + return this->buff;
  + }
  };
  }
  