aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/repeated_field.h
diff options
context:
space:
mode:
authorGravatar Chris Kennelly <ckennelly@google.com>2016-11-11 16:10:41 -0800
committerGravatar Chris Kennelly <ckennelly@google.com>2016-11-11 16:10:41 -0800
commite02cb2bb8369f2a97461c5d300ffaca247792183 (patch)
tree44f1dabf8df65732d9c10a2c08111855526e9bf0 /src/google/protobuf/repeated_field.h
parent8a4b2c573a8f452cdb4e8e04841bfa5f21738e12 (diff)
Resolve old TODO for StringTypeHandler.
StringSpaceUsedExcludingSelf has been part of the lite library since b913cbd.
Diffstat (limited to 'src/google/protobuf/repeated_field.h')
-rw-r--r--src/google/protobuf/repeated_field.h16
1 files changed, 1 insertions, 15 deletions
diff --git a/src/google/protobuf/repeated_field.h b/src/google/protobuf/repeated_field.h
index 0a41495f..6ede0e1a 100644
--- a/src/google/protobuf/repeated_field.h
+++ b/src/google/protobuf/repeated_field.h
@@ -681,17 +681,7 @@ inline const Message& GenericTypeHandler<Message>::default_instance() {
return *null;
}
-
-// HACK: If a class is declared as DLL-exported in MSVC, it insists on
-// generating copies of all its methods -- even inline ones -- to include
-// in the DLL. But SpaceUsed() calls StringSpaceUsedExcludingSelf() which
-// isn't in the lite library, therefore the lite library cannot link if
-// StringTypeHandler is exported. So, we factor out StringTypeHandlerBase,
-// export that, then make StringTypeHandler be a subclass which is NOT
-// exported.
-// TODO(kenton): Now that StringSpaceUsedExcludingSelf() is in the lite
-// library, this can be cleaned up.
-class LIBPROTOBUF_EXPORT StringTypeHandlerBase {
+class LIBPROTOBUF_EXPORT StringTypeHandler {
public:
typedef string Type;
@@ -718,10 +708,6 @@ class LIBPROTOBUF_EXPORT StringTypeHandlerBase {
static inline const Type& default_instance() {
return ::google::protobuf::internal::GetEmptyString();
}
-};
-
-class StringTypeHandler : public StringTypeHandlerBase {
- public:
static int SpaceUsed(const string& value) {
return static_cast<int>(sizeof(value)) + StringSpaceUsedExcludingSelf(value);
}