src/format.h

changeset 125
85814c0918c5
parent 124
a7b769a0e537
child 133
dbbdb870c835
--- a/src/format.h	Fri May 02 20:37:27 2014 +0300
+++ b/src/format.h	Fri May 02 21:37:18 2014 +0300
@@ -39,6 +39,7 @@
 	FormatArgument (char a) : m_text (a) {}
 	FormatArgument (int a) : m_text (String::fromNumber (a)) {}
 	FormatArgument (long a) : m_text (String::fromNumber (a)) {}
+	FormatArgument (size_t a) : m_text (String::fromNumber ((long) a)) {}
 	FormatArgument (const char* a) : m_text (a) {}
 
 	FormatArgument (void* a)
@@ -51,6 +52,9 @@
 		m_text.sprintf ("%p", a);
 	}
 
+	FormatArgument (std::nullptr_t) :
+		m_text (FormatArgument ((void*) 0).text()) {}
+
 	template<class T> FormatArgument (const List<T>& list)
 	{
 		if (list.isEmpty())
@@ -148,7 +152,7 @@
 {
 	std::vector<String> args;
 	expandFormatArguments (args, raw_args...);
-	assert (args.size() == sizeof... (raw_args));
+	ASSERT_EQ (args.size(), sizeof... (raw_args))
 	return formatArgs (fmtstr, args);
 }
 
@@ -205,9 +209,9 @@
 // caught in main() which prints the error to stderr and then exits.
 //
 template<typename... argtypes>
-void error (const String& fmtstr, const argtypes&... args)
+void error (const char* fmtstr, const argtypes&... args)
 {
-	error (format (fmtstr, args...));
+	error (format (String (fmtstr), args...));
 }
 
 //

mercurial