-/* $Id$
-
-This file is part of libmspstrings
-Copyright © 2006-2007 Mikko Rasa
-Distributed under the LGPL
-*/
-
#include "format.h"
using namespace std;
advance();
}
-/**
-Returns the result of the formatting operation. Will throw if not enough
-values have been fed to the formatter.
-*/
const string &Formatter::str() const
{
if(pos!=fmt.end())
- throw Exception("Too few arguments for format");
+ throw format_error("Too few arguments for format");
return result;
}
-/**
-Advances the pos iterator to the next conversion, adding literal characters to
-the result. The iterator is left at the second character of the conversion
-(i.e. after the %).
-*/
void Formatter::advance()
{
for(; pos!=fmt.end(); ++pos)
{
++pos;
if(pos==fmt.end())
- throw Exception("Malformed format string");
+ throw format_error("Malformed format string");
if(*pos!='%')
break;
}
}
}
-/**
-Reads the next conversion from the format string and returns a corresponding
-Fmt object.
-*/
Fmt Formatter::get_conversion()
{
if(pos==fmt.end())
- throw Exception("Too many arguments for format");
+ throw format_error("Too many arguments for format");
string::iterator i = pos;
for(; i!=fmt.end(); ++i)
break;
if(i==fmt.end())
- throw Exception("Malformed format string");
+ throw format_error("Malformed format string");
++i;
string c(pos, i);