]> git.tdb.fi Git - libs/core.git/commitdiff
Rename formatter.* to format.*
authorMikko Rasa <tdb@tdb.fi>
Sat, 28 May 2011 07:52:49 +0000 (10:52 +0300)
committerMikko Rasa <tdb@tdb.fi>
Sat, 28 May 2011 07:52:49 +0000 (10:52 +0300)
source/core/variant.cpp
source/strings/format.cpp [new file with mode: 0644]
source/strings/format.h [new file with mode: 0644]
source/strings/formatter.cpp [deleted file]
source/strings/formatter.h [deleted file]
source/strings/regex.cpp

index 1cdc0a5582184e39ed71b981d3843e7c408ea437..652999f335d17198fea54674d98c739160a181d3 100644 (file)
@@ -1,5 +1,5 @@
 #include <msp/debug/demangle.h>
-#include <msp/strings/formatter.h>
+#include <msp/strings/format.h>
 #include "variant.h"
 
 using namespace std;
diff --git a/source/strings/format.cpp b/source/strings/format.cpp
new file mode 100644 (file)
index 0000000..dfd3800
--- /dev/null
@@ -0,0 +1,79 @@
+/* $Id$
+
+This file is part of libmspstrings
+Copyright © 2006-2007 Mikko Rasa
+Distributed under the LGPL
+*/
+
+#include "format.h"
+
+using namespace std;
+
+namespace Msp {
+
+Formatter::Formatter(const string &f):
+       fmt(f),
+       pos(fmt.begin())
+{
+       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");
+
+       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)
+       {
+               if(*pos=='%')
+               {
+                       ++pos;
+                       if(pos==fmt.end())
+                               throw Exception("Malformed format string");
+                       if(*pos!='%')
+                               break;
+               }
+
+               result += *pos;
+       }
+}
+
+/**
+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");
+
+       string::iterator i = pos;
+       for(; i!=fmt.end(); ++i)
+               if(isalpha(*i))
+                       break;
+
+       if(i==fmt.end())
+               throw Exception("Malformed format string");
+
+       ++i;
+       string c(pos, i);
+       pos = i;
+
+       return Fmt(c);
+}
+
+} // namespace Msp
diff --git a/source/strings/format.h b/source/strings/format.h
new file mode 100644 (file)
index 0000000..db74bf9
--- /dev/null
@@ -0,0 +1,70 @@
+/* $Id$
+
+This file is part of libmspstrings
+Copyright © 2006-2007 Mikko Rasa
+Distributed under the LGPL
+*/
+
+#ifndef MSP_STRINGS_FORMAT_H_
+#define MSP_STRINGS_FORMAT_H_
+
+#include <string>
+#include "lexicalcast.h"
+
+namespace Msp {
+
+/**
+Printf-like string formatter class.
+*/
+class Formatter
+{
+private:
+       std::string fmt;
+       std::string::iterator pos;
+       std::string result;
+
+public:
+       Formatter(const std::string &);
+
+       /** Extracts the next conversion from the format string and formats the
+       given value with it.  Will throw if no more conversions are found. */
+       template<typename T>
+       Formatter &operator()(const T &a)
+       {
+               result += lexical_cast(a, get_conversion());
+               advance();
+               return *this;
+       }
+
+       const std::string &str() const;
+private:
+       void advance();
+       Fmt get_conversion();
+};
+
+inline Formatter format(const std::string &f)
+{ return Formatter(f); }
+
+template<typename A1>
+inline std::string format(const std::string &f, const A1 &a1)
+{ return Formatter(f)(a1).str(); }
+
+template<typename A1, typename A2>
+inline std::string format(const std::string &f, const A1 &a1, const A2 &a2)
+{ return Formatter(f)(a1)(a2).str(); }
+
+template<typename A1, typename A2, typename A3>
+inline std::string format(const std::string &f, const A1 &a1, const A2 &a2, const A3 &a3)
+{ return Formatter(f)(a1)(a2)(a3).str(); }
+
+template<typename A1, typename A2, typename A3, typename A4>
+inline std::string format(const std::string &f, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4)
+{ return Formatter(f)(a1)(a2)(a3)(a4).str(); }
+
+template<typename A1, typename A2, typename A3, typename A4, typename A5>
+inline std::string format(const std::string &f, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5)
+{ return Formatter(f)(a1)(a2)(a3)(a4)(a5).str(); }
+
+} // namespace Msp
+
+#endif
diff --git a/source/strings/formatter.cpp b/source/strings/formatter.cpp
deleted file mode 100644 (file)
index d9d311d..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/* $Id$
-
-This file is part of libmspstrings
-Copyright © 2006-2007 Mikko Rasa
-Distributed under the LGPL
-*/
-
-#include "formatter.h"
-
-using namespace std;
-
-namespace Msp {
-
-Formatter::Formatter(const string &f):
-       fmt(f),
-       pos(fmt.begin())
-{
-       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");
-
-       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)
-       {
-               if(*pos=='%')
-               {
-                       ++pos;
-                       if(pos==fmt.end())
-                               throw Exception("Malformed format string");
-                       if(*pos!='%')
-                               break;
-               }
-
-               result += *pos;
-       }
-}
-
-/**
-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");
-
-       string::iterator i = pos;
-       for(; i!=fmt.end(); ++i)
-               if(isalpha(*i))
-                       break;
-
-       if(i==fmt.end())
-               throw Exception("Malformed format string");
-
-       ++i;
-       string c(pos, i);
-       pos = i;
-
-       return Fmt(c);
-}
-
-} // namespace Msp
diff --git a/source/strings/formatter.h b/source/strings/formatter.h
deleted file mode 100644 (file)
index cde508b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/* $Id$
-
-This file is part of libmspstrings
-Copyright © 2006-2007 Mikko Rasa
-Distributed under the LGPL
-*/
-
-#ifndef MSP_STRINGS_FORMATTER_H_
-#define MSP_STRINGS_FORMATTER_H_
-
-#include <string>
-#include "lexicalcast.h"
-
-namespace Msp {
-
-/**
-Printf-like string formatter class.
-*/
-class Formatter
-{
-private:
-       std::string fmt;
-       std::string::iterator pos;
-       std::string result;
-
-public:
-       Formatter(const std::string &);
-
-       /** Extracts the next conversion from the format string and formats the
-       given value with it.  Will throw if no more conversions are found. */
-       template<typename T>
-       Formatter &operator()(const T &a)
-       {
-               result += lexical_cast(a, get_conversion());
-               advance();
-               return *this;
-       }
-
-       const std::string &str() const;
-private:
-       void advance();
-       Fmt get_conversion();
-};
-
-inline Formatter format(const std::string &f)
-{ return Formatter(f); }
-
-template<typename A1>
-inline std::string format(const std::string &f, const A1 &a1)
-{ return Formatter(f)(a1).str(); }
-
-template<typename A1, typename A2>
-inline std::string format(const std::string &f, const A1 &a1, const A2 &a2)
-{ return Formatter(f)(a1)(a2).str(); }
-
-template<typename A1, typename A2, typename A3>
-inline std::string format(const std::string &f, const A1 &a1, const A2 &a2, const A3 &a3)
-{ return Formatter(f)(a1)(a2)(a3).str(); }
-
-template<typename A1, typename A2, typename A3, typename A4>
-inline std::string format(const std::string &f, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4)
-{ return Formatter(f)(a1)(a2)(a3)(a4).str(); }
-
-template<typename A1, typename A2, typename A3, typename A4, typename A5>
-inline std::string format(const std::string &f, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5)
-{ return Formatter(f)(a1)(a2)(a3)(a4)(a5).str(); }
-
-} // namespace Msp
-
-#endif
index f45c820c80ddadf87b6e621645f02cd965ac6cdc..ef99d8022553f3542b34b3e28ef67cf769aa8e25 100644 (file)
@@ -8,7 +8,7 @@ Distributed under the LGPL
 #include <stack>
 #include <limits>
 #include <msp/core/except.h>
-#include "formatter.h"
+#include "format.h"
 #include "regex.h"
 
 using namespace std;