diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WTF/wtf/StringPrintStream.h | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WTF/wtf/StringPrintStream.h')
-rw-r--r-- | Source/WTF/wtf/StringPrintStream.h | 56 |
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(); } |