Add char * overload for FlatBufferBuilder::CreateString() (#4583)
Without this change, the compiler tries to select the following overload when CreateString is passed a `char *`: template<typename T> Offset<String> CreateString(const T &str) { return CreateString(str.c_str(), str.length()); } which is not valid since char pointers don't have methods. (Fixes #4579) Signed-off-by: Andrew Gunnerson <chenxiaolong@cxl.epac.to>
This commit is contained in:
parent
0aa36101f4
commit
dfe68566e4
|
@ -1001,6 +1001,13 @@ class FlatBufferBuilder {
|
||||||
return CreateString(str, strlen(str));
|
return CreateString(str, strlen(str));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// @brief Store a string in the buffer, which is null-terminated.
|
||||||
|
/// @param[in] str A char pointer to a C-string to add to the buffer.
|
||||||
|
/// @return Returns the offset in the buffer where the string starts.
|
||||||
|
Offset<String> CreateString(char *str) {
|
||||||
|
return CreateString(str, strlen(str));
|
||||||
|
}
|
||||||
|
|
||||||
/// @brief Store a string in the buffer, which can contain any binary data.
|
/// @brief Store a string in the buffer, which can contain any binary data.
|
||||||
/// @param[in] str A const reference to a std::string to store in the buffer.
|
/// @param[in] str A const reference to a std::string to store in the buffer.
|
||||||
/// @return Returns the offset in the buffer where the string starts.
|
/// @return Returns the offset in the buffer where the string starts.
|
||||||
|
|
Loading…
Reference in New Issue