aboutsummaryrefslogtreecommitdiff
path: root/src/google/protobuf/repeated_field.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/google/protobuf/repeated_field.cc')
-rw-r--r--src/google/protobuf/repeated_field.cc25
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