src/types.cpp

Tue, 16 Jul 2013 23:53:31 +0300

author
Teemu Piippo <crimsondusk64@gmail.com>
date
Tue, 16 Jul 2013 23:53:31 +0300
changeset 0
bb264814dd81
child 1
c9b22c06307c
permissions
-rw-r--r--

Initial commit

#include <QObject>
#include <QStringList>
#include <QTextStream>
#include <assert.h>
#include "types.h"

str doFormat( std::vector<StringFormatArg> args ) {
	assert( args.size() >= 1 );
	str text = args[0].value();
	
	for( uchar i = 1; i < args.size(); ++i )
		text = text.arg( args[i].value() );
	
	return text;
}

void doPrint( initlist<StringFormatArg> args ) {
	printf( "%s", doFormat( args ).toStdString().c_str() );
}

// =============================================================================
StringFormatArg::StringFormatArg( const str& v )    { m_val = v; }
StringFormatArg::StringFormatArg( const char& v )   { m_val = v; }
StringFormatArg::StringFormatArg( const uchar& v )  { m_val = v; }
StringFormatArg::StringFormatArg( const qchar& v )  { m_val = v; }
StringFormatArg::StringFormatArg( const float& v )  { m_val = str::number( v ); }
StringFormatArg::StringFormatArg( const double& v ) { m_val = str::number( v ); }
StringFormatArg::StringFormatArg( const char* v )   { m_val = v; }
StringFormatArg::StringFormatArg( const void* v )   { m_val.sprintf( "%p", v ); }

mercurial