diff options
Diffstat (limited to 'chromium/third_party/protobuf/src/google/protobuf/generated_message_util.h')
-rw-r--r-- | chromium/third_party/protobuf/src/google/protobuf/generated_message_util.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/chromium/third_party/protobuf/src/google/protobuf/generated_message_util.h b/chromium/third_party/protobuf/src/google/protobuf/generated_message_util.h index b2fb8f0be2a..098f3219806 100644 --- a/chromium/third_party/protobuf/src/google/protobuf/generated_message_util.h +++ b/chromium/third_party/protobuf/src/google/protobuf/generated_message_util.h @@ -41,6 +41,7 @@ #include <string> #include <google/protobuf/stubs/common.h> +#include <google/protobuf/stubs/once.h> namespace google { namespace protobuf { namespace internal { @@ -59,8 +60,17 @@ namespace internal { LIBPROTOBUF_EXPORT double Infinity(); LIBPROTOBUF_EXPORT double NaN(); -// Constant used for empty default strings. -LIBPROTOBUF_EXPORT extern const ::std::string kEmptyString; +// Default empty string object. Don't use the pointer directly. Instead, call +// GetEmptyString() to get the reference. +LIBPROTOBUF_EXPORT extern const ::std::string* empty_string_; +LIBPROTOBUF_EXPORT extern ProtobufOnceType empty_string_once_init_; + +LIBPROTOBUF_EXPORT void InitEmptyString(); + +LIBPROTOBUF_EXPORT inline const ::std::string& GetEmptyString() { + GoogleOnceInit(&empty_string_once_init_, &InitEmptyString); + return *empty_string_; +} // Defined in generated_message_reflection.cc -- not actually part of the lite // library. |