mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-08 22:20:56 +00:00
* [C++] #6501 - Problem when mapping a native type multiple times - idl.h: added "native_type_pack_name" - flatbuffers.h: added CreateVectorOfNativeStructs variants which receive a pointer to the serialization function - idl_gen_cpp.cpp: adapted code generation in case "native_type_pack_name" attribute is present - extended tests & docs; improved surrounding native_type docs a little * integrated review feedback
This commit is contained in:
@@ -3525,10 +3525,13 @@ void NativeTypeTest() {
|
||||
|
||||
Geometry::ApplicationDataT src_data;
|
||||
src_data.vectors.reserve(N);
|
||||
src_data.vectors_alt.reserve(N);
|
||||
|
||||
for (int i = 0; i < N; ++i) {
|
||||
src_data.vectors.push_back(
|
||||
Native::Vector3D(10 * i + 0.1f, 10 * i + 0.2f, 10 * i + 0.3f));
|
||||
src_data.vectors_alt.push_back(
|
||||
Native::Vector3D(20 * i + 0.1f, 20 * i + 0.2f, 20 * i + 0.3f));
|
||||
}
|
||||
|
||||
flatbuffers::FlatBufferBuilder fbb;
|
||||
@@ -3537,10 +3540,15 @@ void NativeTypeTest() {
|
||||
auto dstDataT = Geometry::UnPackApplicationData(fbb.GetBufferPointer());
|
||||
|
||||
for (int i = 0; i < N; ++i) {
|
||||
Native::Vector3D &v = dstDataT->vectors[i];
|
||||
const Native::Vector3D &v = dstDataT->vectors[i];
|
||||
TEST_EQ(v.x, 10 * i + 0.1f);
|
||||
TEST_EQ(v.y, 10 * i + 0.2f);
|
||||
TEST_EQ(v.z, 10 * i + 0.3f);
|
||||
|
||||
const Native::Vector3D &v2 = dstDataT->vectors_alt[i];
|
||||
TEST_EQ(v2.x, 20 * i + 0.1f);
|
||||
TEST_EQ(v2.y, 20 * i + 0.2f);
|
||||
TEST_EQ(v2.z, 20 * i + 0.3f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user