summaryrefslogtreecommitdiff
path: root/src/io/stream_reader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/io/stream_reader.cpp')
-rw-r--r--src/io/stream_reader.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/io/stream_reader.cpp b/src/io/stream_reader.cpp
index ff0fe183ea..541a416d83 100644
--- a/src/io/stream_reader.cpp
+++ b/src/io/stream_reader.cpp
@@ -39,6 +39,14 @@ endian::endian stream_reader::get_endian() const
return endian;
}
+std::pair<std::string, std::unique_ptr<tag>> stream_reader::read_tag()
+{
+ tag_type type = read_type();
+ std::string key = read_string();
+ std::unique_ptr<tag> t = read_payload(type);
+ return {std::move(key), std::move(t)};
+}
+
std::unique_ptr<tag> stream_reader::read_payload(tag_type type)
{
std::unique_ptr<tag> t = tag::create(type);