Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
flatbuffers
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
flatbuffers
Commits
fcacb46d
Commit
fcacb46d
authored
Jan 24, 2019
by
Vladimir Glavnyy
Committed by
Wouter van Oortmerssen
Jan 24, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Replace deprecated Vector::Length() with Vector::size() (#5131)
- enable FLATBUFFERS_ATTRIBUTE if C++17 or higher
parent
3f388ec7
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
16 additions
and
16 deletions
+16
-16
base.h
include/flatbuffers/base.h
+2
-2
flatbuffers.h
include/flatbuffers/flatbuffers.h
+5
-5
idl_gen_text.cpp
src/idl_gen_text.cpp
+1
-1
idl_parser.cpp
src/idl_parser.cpp
+3
-3
reflection.cpp
src/reflection.cpp
+2
-2
test.cpp
tests/test.cpp
+3
-3
No files found.
include/flatbuffers/base.h
View file @
fcacb46d
...
...
@@ -235,11 +235,11 @@ template<typename T> FLATBUFFERS_CONSTEXPR inline bool IsConstTrue(T t) {
return
!!
t
;
}
// Enable
o
f std:c++17 or higher.
// Enable
C++ attribute [[]] i
f std:c++17 or higher.
#if (defined(__cplusplus) && (__cplusplus >= 201703L)) || \
(defined(_MSVC_LANG) && (_MSVC_LANG >= 201703L))
// All attributes unknown to an implementation are ignored without causing an error.
#define FLATBUFFERS_ATTRIBUTE(attr)
// [[attr]] - will be enabled in a future release
#define FLATBUFFERS_ATTRIBUTE(attr)
[[attr]]
#else
#define FLATBUFFERS_ATTRIBUTE(attr)
#endif
...
...
include/flatbuffers/flatbuffers.h
View file @
fcacb46d
...
...
@@ -390,7 +390,7 @@ const Vector<Offset<T>> *VectorCast(const Vector<Offset<U>> *ptr) {
// Convenient helper function to get the length of any vector, regardless
// of whether it is null or not (the field is not set).
template
<
typename
T
>
static
inline
size_t
VectorLength
(
const
Vector
<
T
>
*
v
)
{
return
v
?
v
->
Length
()
:
0
;
return
v
?
v
->
size
()
:
0
;
}
// Lexicographically compare two strings (possibly containing nulls), and
...
...
@@ -403,12 +403,12 @@ static inline bool StringLessThan(const char *a_data, uoffset_t a_size,
struct
String
:
public
Vector
<
char
>
{
const
char
*
c_str
()
const
{
return
reinterpret_cast
<
const
char
*>
(
Data
());
}
std
::
string
str
()
const
{
return
std
::
string
(
c_str
(),
Length
());
}
std
::
string
str
()
const
{
return
std
::
string
(
c_str
(),
size
());
}
// clang-format off
#ifdef FLATBUFFERS_HAS_STRING_VIEW
flatbuffers
::
string_view
string_view
()
const
{
return
flatbuffers
::
string_view
(
c_str
(),
Length
());
return
flatbuffers
::
string_view
(
c_str
(),
size
());
}
#endif // FLATBUFFERS_HAS_STRING_VIEW
// clang-format on
...
...
@@ -1340,7 +1340,7 @@ class FlatBufferBuilder {
/// @param[in] str A const pointer to a `String` struct to add to the buffer.
/// @return Returns the offset in the buffer where the string starts
Offset
<
String
>
CreateString
(
const
String
*
str
)
{
return
str
?
CreateString
(
str
->
c_str
(),
str
->
Length
())
:
0
;
return
str
?
CreateString
(
str
->
c_str
(),
str
->
size
())
:
0
;
}
/// @brief Store a string in the buffer, which can contain any binary data.
...
...
@@ -1400,7 +1400,7 @@ class FlatBufferBuilder {
/// @param[in] str A const pointer to a `String` struct to add to the buffer.
/// @return Returns the offset in the buffer where the string starts
Offset
<
String
>
CreateSharedString
(
const
String
*
str
)
{
return
CreateSharedString
(
str
->
c_str
(),
str
->
Length
());
return
CreateSharedString
(
str
->
c_str
(),
str
->
size
());
}
/// @cond FLATBUFFERS_INTERNAL
...
...
src/idl_gen_text.cpp
View file @
fcacb46d
...
...
@@ -119,7 +119,7 @@ bool Print<const void *>(const void *val, Type type, int indent,
break
;
case
BASE_TYPE_STRING
:
{
auto
s
=
reinterpret_cast
<
const
String
*>
(
val
);
if
(
!
EscapeString
(
s
->
c_str
(),
s
->
Length
(),
_text
,
opts
.
allow_non_utf8
,
if
(
!
EscapeString
(
s
->
c_str
(),
s
->
size
(),
_text
,
opts
.
allow_non_utf8
,
opts
.
natural_utf8
))
{
return
false
;
}
...
...
src/idl_parser.cpp
View file @
fcacb46d
...
...
@@ -94,7 +94,7 @@ std::string MakeCamel(const std::string &in, bool first) {
void
DeserializeDoc
(
std
::
vector
<
std
::
string
>
&
doc
,
const
Vector
<
Offset
<
String
>>
*
documentation
)
{
if
(
documentation
==
nullptr
)
return
;
for
(
uoffset_t
index
=
0
;
index
<
documentation
->
Length
();
index
++
)
for
(
uoffset_t
index
=
0
;
index
<
documentation
->
size
();
index
++
)
doc
.
push_back
(
documentation
->
Get
(
index
)
->
str
());
}
...
...
@@ -2755,8 +2755,8 @@ bool StructDef::Deserialize(Parser &parser, const reflection::Object *object) {
predecl
=
false
;
sortbysize
=
attributes
.
Lookup
(
"original_order"
)
==
nullptr
&&
!
fixed
;
std
::
vector
<
uoffset_t
>
indexes
=
std
::
vector
<
uoffset_t
>
(
object
->
fields
()
->
Length
());
for
(
uoffset_t
i
=
0
;
i
<
object
->
fields
()
->
Length
();
i
++
)
std
::
vector
<
uoffset_t
>
(
object
->
fields
()
->
size
());
for
(
uoffset_t
i
=
0
;
i
<
object
->
fields
()
->
size
();
i
++
)
indexes
[
object
->
fields
()
->
Get
(
i
)
->
id
()]
=
i
;
for
(
size_t
i
=
0
;
i
<
indexes
.
size
();
i
++
)
{
auto
field
=
object
->
fields
()
->
Get
(
indexes
[
i
]);
...
...
src/reflection.cpp
View file @
fcacb46d
...
...
@@ -299,13 +299,13 @@ class ResizeContext {
void
SetString
(
const
reflection
::
Schema
&
schema
,
const
std
::
string
&
val
,
const
String
*
str
,
std
::
vector
<
uint8_t
>
*
flatbuf
,
const
reflection
::
Object
*
root_table
)
{
auto
delta
=
static_cast
<
int
>
(
val
.
size
())
-
static_cast
<
int
>
(
str
->
Length
());
auto
delta
=
static_cast
<
int
>
(
val
.
size
())
-
static_cast
<
int
>
(
str
->
size
());
auto
str_start
=
static_cast
<
uoffset_t
>
(
reinterpret_cast
<
const
uint8_t
*>
(
str
)
-
vector_data
(
*
flatbuf
));
auto
start
=
str_start
+
static_cast
<
uoffset_t
>
(
sizeof
(
uoffset_t
));
if
(
delta
)
{
// Clear the old string, since we don't want parts of it remaining.
memset
(
vector_data
(
*
flatbuf
)
+
start
,
0
,
str
->
Length
());
memset
(
vector_data
(
*
flatbuf
)
+
start
,
0
,
str
->
size
());
// Different size, we must expand (or contract).
ResizeContext
(
schema
,
start
,
delta
,
flatbuf
,
root_table
);
// Set the new length.
...
...
tests/test.cpp
View file @
fcacb46d
...
...
@@ -283,7 +283,7 @@ void AccessFlatBufferTest(const uint8_t *flatbuf, size_t length,
// Example of accessing a vector of strings:
auto
vecofstrings
=
monster
->
testarrayofstring
();
TEST_EQ
(
vecofstrings
->
Length
(),
4U
);
TEST_EQ
(
vecofstrings
->
size
(),
4U
);
TEST_EQ_STR
(
vecofstrings
->
Get
(
0
)
->
c_str
(),
"bob"
);
TEST_EQ_STR
(
vecofstrings
->
Get
(
1
)
->
c_str
(),
"fred"
);
if
(
pooled
)
{
...
...
@@ -294,14 +294,14 @@ void AccessFlatBufferTest(const uint8_t *flatbuf, size_t length,
auto
vecofstrings2
=
monster
->
testarrayofstring2
();
if
(
vecofstrings2
)
{
TEST_EQ
(
vecofstrings2
->
Length
(),
2U
);
TEST_EQ
(
vecofstrings2
->
size
(),
2U
);
TEST_EQ_STR
(
vecofstrings2
->
Get
(
0
)
->
c_str
(),
"jane"
);
TEST_EQ_STR
(
vecofstrings2
->
Get
(
1
)
->
c_str
(),
"mary"
);
}
// Example of accessing a vector of tables:
auto
vecoftables
=
monster
->
testarrayoftables
();
TEST_EQ
(
vecoftables
->
Length
(),
3U
);
TEST_EQ
(
vecoftables
->
size
(),
3U
);
for
(
auto
it
=
vecoftables
->
begin
();
it
!=
vecoftables
->
end
();
++
it
)
TEST_EQ
(
strlen
(
it
->
name
()
->
c_str
())
>=
4
,
true
);
TEST_EQ_STR
(
vecoftables
->
Get
(
0
)
->
name
()
->
c_str
(),
"Barney"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment