std::ostringstream wrapper. More...
#include <formatter.hpp>
Public Member Functions | |
| formatter () | |
| template<typename T > | |
| formatter & | operator<< (const T &o) & |
| template<typename T > | |
| formatter && | operator<< (const T &o) && |
| std::string | str () const |
| operator std::string () const && | |
| formatter & | operator<< (std::ostream &(*fn)(std::ostream &)) & |
| formatter && | operator<< (std::ostream &(*fn)(std::ostream &)) && |
| formatter & | operator<< (std::ios_base &(*fn)(std::ios_base &)) & |
| formatter && | operator<< (std::ios_base &(*fn)(std::ios_base &)) && |
Private Attributes | |
| std::ostringstream | stream_ |
std::ostringstream wrapper.
ostringstream's operator<< doesn't return a ostringstream&. It returns an ostream& instead. This is unfortunate, because it means that you can't do something like this: (ostringstream() << n).str() to convert an integer to a string, all in one line instead you have to use this far more tedious approach: ostringstream s; s << n; s.str(); This class corrects this shortcoming, allowing something like this: string result = (formatter() << "blah " << n << x << " blah").str();
Actually, due to the ref qualified versions below, you can get away with this
string result = formatter() << "blah " << n << x << " blah";
Definition at line 39 of file formatter.hpp.
|
inline |
Definition at line 42 of file formatter.hpp.
|
inline |
Definition at line 67 of file formatter.hpp.
References stream_.
|
inline |
Definition at line 48 of file formatter.hpp.
References stream_.
|
inline |
Definition at line 55 of file formatter.hpp.
References stream_.
|
inline |
Definition at line 85 of file formatter.hpp.
References stream_.
|
inline |
Definition at line 91 of file formatter.hpp.
References stream_.
|
inline |
Definition at line 73 of file formatter.hpp.
References stream_.
|
inline |
Definition at line 79 of file formatter.hpp.
References stream_.
|
inline |
Definition at line 61 of file formatter.hpp.
References stream_.
|
private |
Definition at line 98 of file formatter.hpp.
Referenced by operator std::string(), operator<<(), and str().