mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-29 04:30:00 +00:00
Merge changes Id7618e53,Ieddc3c5c into ub-games-master
* changes: non-generic version of CreateUninitializedVector for c ffi cast literal to csize to fix error
This commit is contained in:
committed by
Android (Google) Code Review
commit
f79cc460f8
@@ -649,11 +649,15 @@ class FlatBufferBuilder FLATBUFFERS_FINAL_CLASS {
|
|||||||
// Specialized version for non-copying use cases. Data to be written later.
|
// Specialized version for non-copying use cases. Data to be written later.
|
||||||
// After calling this function, GetBufferPointer() can be cast to the
|
// After calling this function, GetBufferPointer() can be cast to the
|
||||||
// corresponding Vector<> type to write the data (through Data()).
|
// corresponding Vector<> type to write the data (through Data()).
|
||||||
template<typename T> Offset<Vector<T>> CreateUninitializedVector(size_t len) {
|
uoffset_t CreateUninitializedVector(size_t len, size_t elemsize) {
|
||||||
NotNested();
|
NotNested();
|
||||||
StartVector(len, sizeof(T));
|
StartVector(len, elemsize);
|
||||||
buf_.make_space(len * sizeof(T));
|
buf_.make_space(len * elemsize);
|
||||||
return Offset<Vector<T>>(EndVector(len));
|
return EndVector(len);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename T> Offset<Vector<T>> CreateUninitializedVector(size_t len) {
|
||||||
|
return CreateUninitializedVector(len, sizeof(T));
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T> Offset<Vector<T>> CreateVector(const std::vector<T> &v){
|
template<typename T> Offset<Vector<T>> CreateVector(const std::vector<T> &v){
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ void AccessFlatBufferTest(const std::string &flatbuf) {
|
|||||||
TEST_EQ(pos->test3().b(), 20);
|
TEST_EQ(pos->test3().b(), 20);
|
||||||
|
|
||||||
auto inventory = monster->inventory();
|
auto inventory = monster->inventory();
|
||||||
TEST_EQ(VectorLength(inventory), 10); // Works even if inventory is null.
|
TEST_EQ(VectorLength(inventory), 10UL); // Works even if inventory is null.
|
||||||
TEST_NOTNULL(inventory);
|
TEST_NOTNULL(inventory);
|
||||||
unsigned char inv_data[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
|
unsigned char inv_data[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
|
||||||
for (auto it = inventory->begin(); it != inventory->end(); ++it)
|
for (auto it = inventory->begin(); it != inventory->end(); ++it)
|
||||||
|
|||||||
Reference in New Issue
Block a user