diff --git a/include/flatbuffers/flexbuffers.h b/include/flatbuffers/flexbuffers.h index d588fa40fc878fb61c52041fc98c6716e8357fa6..242a536555425d21d466782581d252fc93429c32 100644 --- a/include/flatbuffers/flexbuffers.h +++ b/include/flatbuffers/flexbuffers.h @@ -946,6 +946,11 @@ class Builder FLATBUFFERS_FINAL_CLASS { EndVector(start, false, false); } } + template<typename T> void Vector(const char *key, const T *elems, + size_t len) { + Key(key); + Vector(elems, len); + } template<typename T> void Vector(const std::vector<T> &vec) { Vector(vec.data(), vec.size()); } diff --git a/tests/test.cpp b/tests/test.cpp index 106a4792196d0294aef0a71347bc5cdf6cfb02a9..f74e9a8b8a05bfe587be2df0a34f7cdea7c32d4d 100644 --- a/tests/test.cpp +++ b/tests/test.cpp @@ -1373,8 +1373,8 @@ void FlexBuffersTest() { slb.IndirectFloat(4.0f); }); int ints[] = { 1, 2, 3 }; - slb.Add("bar", ints); - slb.FixedTypedVector("bar3", ints, sizeof(ints) / sizeof(int)); + slb.Vector("bar", ints, 3); + slb.FixedTypedVector("bar3", ints, 3); slb.Double("foo", 100); slb.Map("mymap", [&]() { slb.String("foo", "Fred"); // Testing key and string reuse.