Add UnpackFlatbuffer() method for quality-of-life
Change-Id: I211d3642b39f6183d5f1694931c03ac7f00dd0f0
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/aos/flatbuffers.h b/aos/flatbuffers.h
index ed9c8ac..a299fe9 100644
--- a/aos/flatbuffers.h
+++ b/aos/flatbuffers.h
@@ -529,6 +529,15 @@
std::shared_ptr<absl::Span<uint8_t>> span_;
};
+// The regular flatbuffer API makes it surprisingly irritating to unpack an
+// Object into an ObjectT without a bunch of extra lines.
+template <typename T>
+T::NativeTableType UnpackFlatbuffer(const T *fbs) {
+ typename T::NativeTableType object;
+ fbs->UnPackTo(&object);
+ return object;
+}
+
} // namespace aos
#endif // AOS_FLATBUFFERS_H_