src/types.cpp

Wed, 17 Jul 2013 01:55:18 +0300

author
Teemu Piippo <crimsondusk64@gmail.com>
date
Wed, 17 Jul 2013 01:55:18 +0300
changeset 4
3c23aa03190d
parent 1
c9b22c06307c
child 6
67b6ef6917ba
permissions
-rw-r--r--

SEPARATORS

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

str doFormat( initlist<StringFormatArg> args ) {
	assert( args.size() >= 1 );
	str text = args.begin()->value();
	
	for( initlist<StringFormatArg>::iterator it = args.begin() + 1; it != args.end(); ++it )
		text = text.arg( it->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