summaryrefslogtreecommitdiff
path: root/Source/WTF/wtf/StringPrintStream.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WTF/wtf/StringPrintStream.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WTF/wtf/StringPrintStream.h')
-rw-r--r--Source/WTF/wtf/StringPrintStream.h56
1 files changed, 11 insertions, 45 deletions
diff --git a/Source/WTF/wtf/StringPrintStream.h b/Source/WTF/wtf/StringPrintStream.h
index 3bbb3fbe2..f5de7362c 100644
--- a/Source/WTF/wtf/StringPrintStream.h
+++ b/Source/WTF/wtf/StringPrintStream.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
+ * Copyright (C) 2012, 2016 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -37,10 +37,13 @@ public:
WTF_EXPORT_PRIVATE StringPrintStream();
WTF_EXPORT_PRIVATE virtual ~StringPrintStream();
- virtual void vprintf(const char* format, va_list) override WTF_ATTRIBUTE_PRINTF(2, 0);
+ WTF_EXPORT_PRIVATE void vprintf(const char* format, va_list) override WTF_ATTRIBUTE_PRINTF(2, 0);
+
+ size_t length() const { return m_next; }
WTF_EXPORT_PRIVATE CString toCString();
WTF_EXPORT_PRIVATE String toString();
+ WTF_EXPORT_PRIVATE String toStringWithLatin1Fallback();
WTF_EXPORT_PRIVATE void reset();
private:
@@ -53,57 +56,20 @@ private:
};
// Stringify any type T that has a WTF::printInternal(PrintStream&, const T&)
-template<typename T>
-CString toCString(const T& value)
-{
- StringPrintStream stream;
- stream.print(value);
- return stream.toCString();
-}
-template<typename T1, typename T2>
-CString toCString(const T1& value1, const T2& value2)
-{
- StringPrintStream stream;
- stream.print(value1, value2);
- return stream.toCString();
-}
-template<typename T1, typename T2, typename T3>
-CString toCString(const T1& value1, const T2& value2, const T3& value3)
-{
- StringPrintStream stream;
- stream.print(value1, value2, value3);
- return stream.toCString();
-}
-
-template<typename T1, typename T2, typename T3, typename T4>
-CString toCString(const T1& value1, const T2& value2, const T3& value3, const T4& value4)
-{
- StringPrintStream stream;
- stream.print(value1, value2, value3, value4);
- return stream.toCString();
-}
-
-template<typename T1, typename T2, typename T3, typename T4, typename T5>
-CString toCString(const T1& value1, const T2& value2, const T3& value3, const T4& value4, const T5& value5)
-{
- StringPrintStream stream;
- stream.print(value1, value2, value3, value4, value5);
- return stream.toCString();
-}
-template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
-CString toCString(const T1& value1, const T2& value2, const T3& value3, const T4& value4, const T5& value5, const T6& value6)
+template<typename... Types>
+CString toCString(const Types&... values)
{
StringPrintStream stream;
- stream.print(value1, value2, value3, value4, value5, value6);
+ stream.print(values...);
return stream.toCString();
}
-template<typename T>
-String toString(const T& value)
+template<typename... Types>
+String toString(const Types&... values)
{
StringPrintStream stream;
- stream.print(value);
+ stream.print(values...);
return stream.toString();
}