| Index: third_party/protobuf/src/google/protobuf/stubs/common.h
|
| ===================================================================
|
| --- third_party/protobuf/src/google/protobuf/stubs/common.h (revision 216642)
|
| +++ third_party/protobuf/src/google/protobuf/stubs/common.h (working copy)
|
| @@ -356,6 +356,12 @@
|
| return static_cast<To>(f);
|
| }
|
|
|
| +// Simplified down_cast for reference type.
|
| +template<typename To, typename From>
|
| +inline To down_cast(From& f) {
|
| + return static_cast<To>(f);
|
| +}
|
| +
|
| } // namespace internal
|
|
|
| // We made these internal so that they would show up as such in the docs,
|
| @@ -701,6 +707,7 @@
|
| #undef GOOGLE_CHECK_LE
|
| #undef GOOGLE_CHECK_GT
|
| #undef GOOGLE_CHECK_GE
|
| +#undef GOOGLE_CHECK_NOTNULL
|
|
|
| #undef GOOGLE_DLOG
|
| #undef GOOGLE_DCHECK
|
| @@ -727,6 +734,18 @@
|
| #define GOOGLE_CHECK_GT(A, B) GOOGLE_CHECK((A) > (B))
|
| #define GOOGLE_CHECK_GE(A, B) GOOGLE_CHECK((A) >= (B))
|
|
|
| +namespace internal {
|
| +template<typename T>
|
| +T* CheckNotNull(const char *file, int line, const char *name, T* val) {
|
| + if (val == NULL) {
|
| + GOOGLE_LOG(FATAL) << name;
|
| + }
|
| + return val;
|
| +}
|
| +} // namespace internal
|
| +#define GOOGLE_CHECK_NOTNULL(A) \
|
| + internal::CheckNotNull(__FILE__, __LINE__, "'" #A "' must not be NULL", (A))
|
| +
|
| #ifdef NDEBUG
|
|
|
| #define GOOGLE_DLOG GOOGLE_LOG_IF(INFO, false)
|
| @@ -1151,20 +1170,10 @@
|
| using internal::MutexLockMaybe;
|
|
|
| // ===================================================================
|
| -// from google3/base/type_traits.h
|
| +// from google3/util/utf8/public/unilib.h
|
|
|
| namespace internal {
|
|
|
| -// Specified by TR1 [4.7.4] Pointer modifications.
|
| -template<typename T> struct remove_pointer { typedef T type; };
|
| -template<typename T> struct remove_pointer<T*> { typedef T type; };
|
| -template<typename T> struct remove_pointer<T* const> { typedef T type; };
|
| -template<typename T> struct remove_pointer<T* volatile> { typedef T type; };
|
| -template<typename T> struct remove_pointer<T* const volatile> {
|
| - typedef T type; };
|
| -
|
| -// ===================================================================
|
| -
|
| // Checks if the buffer contains structurally-valid UTF-8. Implemented in
|
| // structurally_valid.cc.
|
| LIBPROTOBUF_EXPORT bool IsStructurallyValidUTF8(const char* buf, int len);
|
| @@ -1172,6 +1181,10 @@
|
| } // namespace internal
|
|
|
| // ===================================================================
|
| +// from google3/util/endian/endian.h
|
| +LIBPROTOBUF_EXPORT uint32 ghtonl(uint32 x);
|
| +
|
| +// ===================================================================
|
| // Shutdown support.
|
|
|
| // Shut down the entire protocol buffers library, deleting all static-duration
|
|
|