diff options
Diffstat (limited to 'src/google/protobuf/repeated_field.cc')
-rw-r--r-- | src/google/protobuf/repeated_field.cc | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/google/protobuf/repeated_field.cc b/src/google/protobuf/repeated_field.cc index 310000aa..e09f3e6a 100644 --- a/src/google/protobuf/repeated_field.cc +++ b/src/google/protobuf/repeated_field.cc @@ -38,6 +38,8 @@ #include <google/protobuf/stubs/logging.h> #include <google/protobuf/stubs/common.h> +#include <google/protobuf/port_def.inc> + namespace google { namespace protobuf { @@ -62,8 +64,7 @@ void** RepeatedPtrFieldBase::InternalExtend(int extend_amount) { if (arena == NULL) { rep_ = reinterpret_cast<Rep*>(::operator new(bytes)); } else { - rep_ = reinterpret_cast<Rep*>( - ::google::protobuf::Arena::CreateArray<char>(arena, bytes)); + rep_ = reinterpret_cast<Rep*>(Arena::CreateArray<char>(arena, bytes)); } #if defined(__GXX_DELETE_WITH_SIZE__) || defined(__cpp_sized_deallocation) const int old_total_size = total_size_; @@ -103,18 +104,17 @@ void RepeatedPtrFieldBase::CloseGap(int start, int num) { rep_->allocated_size -= num; } -google::protobuf::MessageLite* RepeatedPtrFieldBase::AddWeak( - const google::protobuf::MessageLite* prototype) { +MessageLite* RepeatedPtrFieldBase::AddWeak(const MessageLite* prototype) { if (rep_ != NULL && current_size_ < rep_->allocated_size) { - return reinterpret_cast<google::protobuf::MessageLite*>( - rep_->elements[current_size_++]); + return reinterpret_cast<MessageLite*>(rep_->elements[current_size_++]); } if (!rep_ || rep_->allocated_size == total_size_) { Reserve(total_size_ + 1); } ++rep_->allocated_size; - google::protobuf::MessageLite* result = prototype ? prototype->New(arena_) : - Arena::CreateMessage<ImplicitWeakMessage>(arena_); + MessageLite* result = prototype + ? prototype->New(arena_) + : Arena::CreateMessage<ImplicitWeakMessage>(arena_); rep_->elements[current_size_++] = result; return result; } @@ -122,5 +122,14 @@ google::protobuf::MessageLite* RepeatedPtrFieldBase::AddWeak( } // namespace internal +template class PROTOBUF_EXPORT RepeatedField<bool>; +template class PROTOBUF_EXPORT RepeatedField<int32>; +template class PROTOBUF_EXPORT RepeatedField<uint32>; +template class PROTOBUF_EXPORT RepeatedField<int64>; +template class PROTOBUF_EXPORT RepeatedField<uint64>; +template class PROTOBUF_EXPORT RepeatedField<float>; +template class PROTOBUF_EXPORT RepeatedField<double>; +template class PROTOBUF_EXPORT RepeatedPtrField<string>; + } // namespace protobuf } // namespace google |