summaryrefslogtreecommitdiff
path: root/core/fpdfapi/parser/cpdf_object.h
diff options
context:
space:
mode:
authortsepez <tsepez@chromium.org>2016-11-16 17:31:18 -0800
committerCommit bot <commit-bot@chromium.org>2016-11-16 17:31:18 -0800
commit5913a6ca71c85401e3f5317758d44a9fc4a667b2 (patch)
tree388ad0bd98b44a47c251568e198e2c3c231c7d30 /core/fpdfapi/parser/cpdf_object.h
parentcc4d0a44f3025821f88f3ed1ee78dfdc416487c7 (diff)
downloadpdfium-5913a6ca71c85401e3f5317758d44a9fc4a667b2.tar.xz
Make CPDF_Object subclass constructors intern strings
Make CDPF_Arrays intern the object they create. Allow passing nullptr as a CFX_WeakPtr shortcut as well. Review-Url: https://codereview.chromium.org/2509123002
Diffstat (limited to 'core/fpdfapi/parser/cpdf_object.h')
-rw-r--r--core/fpdfapi/parser/cpdf_object.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/core/fpdfapi/parser/cpdf_object.h b/core/fpdfapi/parser/cpdf_object.h
index c24b40a789..9c41e9de7b 100644
--- a/core/fpdfapi/parser/cpdf_object.h
+++ b/core/fpdfapi/parser/cpdf_object.h
@@ -9,6 +9,7 @@
#include <memory>
#include <set>
+#include <type_traits>
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
@@ -117,4 +118,12 @@ class CPDF_Object {
CPDF_Object(const CPDF_Object& src) {}
};
+template <typename T>
+struct CanInternStrings {
+ static const bool value = std::is_same<T, CPDF_Array>::value ||
+ std::is_same<T, CPDF_Dictionary>::value ||
+ std::is_same<T, CPDF_Name>::value ||
+ std::is_same<T, CPDF_String>::value;
+};
+
#endif // CORE_FPDFAPI_PARSER_CPDF_OBJECT_H_