aboutsummaryrefslogtreecommitdiff
path: root/src/protozero/field.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/protozero/field.cc')
-rw-r--r--src/protozero/field.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/protozero/field.cc b/src/protozero/field.cc
index c92f7cee9..be1648219 100644
--- a/src/protozero/field.cc
+++ b/src/protozero/field.cc
@@ -26,7 +26,8 @@
namespace protozero {
-void Field::SerializeAndAppendTo(std::string* dst) {
+template <typename Container>
+void Field::SerializeAndAppendToInternal(Container* dst) const {
namespace pu = proto_utils;
size_t initial_size = dst->size();
dst->resize(initial_size + pu::kMaxSimpleFieldEncodedSize + size_);
@@ -68,4 +69,12 @@ void Field::SerializeAndAppendTo(std::string* dst) {
dst->resize(initial_size + written_size);
}
+void Field::SerializeAndAppendTo(std::string* dst) const {
+ SerializeAndAppendToInternal(dst);
+}
+
+void Field::SerializeAndAppendTo(std::vector<uint8_t>* dst) const {
+ SerializeAndAppendToInternal(dst);
+}
+
} // namespace protozero