From 0400cca3236de1ca303af38bf81eab332d042b7c Mon Sep 17 00:00:00 2001 From: Adam Cozzette Date: Tue, 13 Mar 2018 16:37:29 -0700 Subject: Integrated internal changes from Google --- src/google/protobuf/reflection.h | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'src/google/protobuf/reflection.h') diff --git a/src/google/protobuf/reflection.h b/src/google/protobuf/reflection.h index fcb9a435..5d0fc42b 100755 --- a/src/google/protobuf/reflection.h +++ b/src/google/protobuf/reflection.h @@ -34,9 +34,6 @@ #define GOOGLE_PROTOBUF_REFLECTION_H__ #include -#ifndef _SHARED_PTR_H -#include -#endif #include #include @@ -63,7 +60,7 @@ MutableRepeatedFieldRef Reflection::GetMutableRepeatedFieldRef( // RepeatedFieldRef definition for non-message types. template class RepeatedFieldRef< - T, typename internal::enable_if::value>::type> { + T, typename std::enable_if::value>::type> { typedef typename internal::RefTypeTraits::iterator IteratorType; typedef typename internal::RefTypeTraits::AccessorType AccessorType; @@ -112,7 +109,7 @@ class RepeatedFieldRef< // MutableRepeatedFieldRef definition for non-message types. template class MutableRepeatedFieldRef< - T, typename internal::enable_if::value>::type> { + T, typename std::enable_if::value>::type> { typedef typename internal::RefTypeTraits::AccessorType AccessorType; public: @@ -177,7 +174,7 @@ class MutableRepeatedFieldRef< // RepeatedFieldRef definition for message types. template class RepeatedFieldRef< - T, typename internal::enable_if::value>::type> { + T, typename std::enable_if::value>::type> { typedef typename internal::RefTypeTraits::iterator IteratorType; typedef typename internal::RefTypeTraits::AccessorType AccessorType; @@ -219,7 +216,7 @@ class RepeatedFieldRef< } iterator end() const { // The end iterator must not be dereferenced, no need for scratch space. - return iterator(data_, accessor_, false, NULL); + return iterator(data_, accessor_, false, nullptr); } private: @@ -245,7 +242,7 @@ class RepeatedFieldRef< // MutableRepeatedFieldRef definition for message types. template class MutableRepeatedFieldRef< - T, typename internal::enable_if::value>::type> { + T, typename std::enable_if::value>::type> { typedef typename internal::RefTypeTraits::AccessorType AccessorType; public: @@ -447,7 +444,7 @@ class RepeatedFieldRefIterator iterator_(begin ? accessor->BeginIterator(data) : accessor->EndIterator(data)), // The end iterator must not be dereferenced, no need for scratch space. - scratch_space_(begin ? new AccessorValueType : NULL) {} + scratch_space_(begin ? new AccessorValueType : nullptr) {} // Constructor for message fields. RepeatedFieldRefIterator(const void* data, const RepeatedFieldAccessor* accessor, @@ -508,7 +505,7 @@ class RepeatedFieldRefIterator const void* data_; const RepeatedFieldAccessor* accessor_; void* iterator_; - google::protobuf::scoped_ptr scratch_space_; + std::unique_ptr scratch_space_; }; // TypeTraits that maps the type parameter T of RepeatedFieldRef or @@ -535,7 +532,7 @@ DEFINE_PRIMITIVE(BOOL, bool) template struct RefTypeTraits< - T, typename internal::enable_if::is_primitive>::type> { + T, typename std::enable_if::is_primitive>::type> { typedef RepeatedFieldRefIterator iterator; typedef RepeatedFieldAccessor AccessorType; typedef T AccessorValueType; @@ -550,7 +547,7 @@ struct RefTypeTraits< template struct RefTypeTraits< - T, typename internal::enable_if::value>::type> { + T, typename std::enable_if::value>::type> { typedef RepeatedFieldRefIterator iterator; typedef RepeatedFieldAccessor AccessorType; // We use int32 for repeated enums in RepeatedFieldAccessor. @@ -566,7 +563,7 @@ struct RefTypeTraits< template struct RefTypeTraits< - T, typename internal::enable_if< ::google::protobuf::internal::is_same::value>::type> { + T, typename std::enable_if::value>::type> { typedef RepeatedFieldRefIterator iterator; typedef RepeatedFieldAccessor AccessorType; typedef string AccessorValueType; @@ -594,7 +591,7 @@ struct MessageDescriptorGetter { template struct RefTypeTraits< - T, typename internal::enable_if::value>::type> { + T, typename std::enable_if::value>::type> { typedef RepeatedFieldRefIterator iterator; typedef RepeatedFieldAccessor AccessorType; typedef Message AccessorValueType; -- cgit v1.2.3