From 96592d5dbb72d3f455dcca845873aea7f6b45b82 Mon Sep 17 00:00:00 2001 From: Wouter van Oortmerssen Date: Thu, 4 Sep 2014 12:22:11 -0700 Subject: [PATCH] Made Vector have a size() function, to make it more STL-alike. Bug: 17316346 Change-Id: I52377b7fa51adccadc4e867d45666e683bc2c1ae Tested: on Linux. --- include/flatbuffers/flatbuffers.h | 11 +++++++---- src/idl_gen_text.cpp | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/include/flatbuffers/flatbuffers.h b/include/flatbuffers/flatbuffers.h index 96482e4de6b..bab6a460261 100644 --- a/include/flatbuffers/flatbuffers.h +++ b/include/flatbuffers/flatbuffers.h @@ -247,12 +247,15 @@ template class Vector { typedef VectorIterator iterator; typedef VectorIterator const_iterator; - uoffset_t Length() const { return EndianScalar(length_); } + uoffset_t size() const { return EndianScalar(length_); } + + // Deprecated: use size(). Here for backwards compatibility. + uoffset_t Length() const { return size(); } typedef typename IndirectHelper::return_type return_type; return_type Get(uoffset_t i) const { - assert(i < Length()); + assert(i < size()); return IndirectHelper::Read(Data(), i); } @@ -727,7 +730,7 @@ class Verifier { // Special case for string contents, after the above has been called. bool VerifyVectorOfStrings(const Vector> *vec) const { if (vec) { - for (uoffset_t i = 0; i < vec->Length(); i++) { + for (uoffset_t i = 0; i < vec->size(); i++) { if (!Verify(vec->Get(i))) return false; } } @@ -737,7 +740,7 @@ class Verifier { // Special case for table contents, after the above has been called. template bool VerifyVectorOfTables(const Vector> *vec) { if (vec) { - for (uoffset_t i = 0; i < vec->Length(); i++) { + for (uoffset_t i = 0; i < vec->size(); i++) { if (!vec->Get(i)->Verify(*this)) return false; } } diff --git a/src/idl_gen_text.cpp b/src/idl_gen_text.cpp index a4e36f8250c..cbcd1719cee 100644 --- a/src/idl_gen_text.cpp +++ b/src/idl_gen_text.cpp @@ -70,7 +70,7 @@ template void PrintVector(const Vector &v, Type type, std::string &text = *_text; text += "["; text += NewLine(opts); - for (uoffset_t i = 0; i < v.Length(); i++) { + for (uoffset_t i = 0; i < v.size(); i++) { if (i) { text += ","; text += NewLine(opts); @@ -91,7 +91,7 @@ template void PrintVector(const Vector &v, Type type, static void EscapeString(const String &s, std::string *_text) { std::string &text = *_text; text += "\""; - for (uoffset_t i = 0; i < s.Length(); i++) { + for (uoffset_t i = 0; i < s.size(); i++) { char c = s.Get(i); switch (c) { case '\n': text += "\\n"; break;