Add a flatbuffer merge function
The second value wins. Vectors get appended. Nested objects get both
merged.
Change-Id: I1cb3f65b57d7cf219fca3c6d8dbb8418f8a0d697
diff --git a/aos/flatbuffer_merge.h b/aos/flatbuffer_merge.h
new file mode 100644
index 0000000..c63b143
--- /dev/null
+++ b/aos/flatbuffer_merge.h
@@ -0,0 +1,23 @@
+#ifndef AOS_FLATBUFFER_MERGE_H_
+#define AOS_FLATBUFFER_MERGE_H_
+
+#include <cstddef>
+#include <string>
+
+#include "flatbuffers/flatbuffers.h"
+
+namespace aos {
+
+::std::vector<uint8_t> MergeFlatBuffers(const flatbuffers::TypeTable *typetable,
+ const uint8_t *data1,
+ const uint8_t *data2);
+
+template <class T>
+::std::vector<uint8_t> MergeFlatBuffers(const uint8_t *data1,
+ const uint8_t *data2) {
+ return MergeFlatBuffers(T::MiniReflectTypeTable(), data1, data2);
+}
+
+} // namespace aos
+
+#endif // AOS_FLATBUFFER_MERGE_H_