X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fstrings%2Flexicalcast.h;h=393622d54771bb5197886a7423627fce6066b519;hp=13eab45f0b81c9311381f43f880caf2abb5fcf5b;hb=991fabc1956b73a4007859058fb44171000b452e;hpb=e83bcaa01b98b600171886ff6b06d884385dd0ed diff --git a/source/strings/lexicalcast.h b/source/strings/lexicalcast.h index 13eab45..393622d 100644 --- a/source/strings/lexicalcast.h +++ b/source/strings/lexicalcast.h @@ -16,7 +16,7 @@ class lexical_error: public std::runtime_error { public: lexical_error(const std::string &w): runtime_error(w) { } - virtual ~lexical_error() throw() { } + ~lexical_error() throw() override = default; }; @@ -27,7 +27,7 @@ class format_mismatch: public lexical_error { public: format_mismatch(const std::string &w): lexical_error(w) { } - virtual ~format_mismatch() throw() { } + ~format_mismatch() throw() override = default; }; @@ -38,11 +38,11 @@ class LexicalConverter { private: Fmt fmt; - bool filled; + bool filled = false; std::string buf; public: - LexicalConverter(const Fmt &f): fmt(f), filled(false) { } + LexicalConverter(const Fmt &f): fmt(f) { } LexicalConverter(const std::string &s, const Fmt &f): fmt(f), filled(true), buf(s) { } const Fmt &get_fmt() const { return fmt; } @@ -97,7 +97,7 @@ struct CheckFormattedOutput: Sfinae { static std::ostream &s; template - static Yes f(int (*)[sizeof(s<(s))]); using Sfinae::f; }; @@ -114,21 +114,21 @@ template struct HasFormattedInput: Sfinae::Evaluate -typename EnableIf::value, void>::Yes +typename std::enable_if::value>::type operator<<(LexicalConverter &c, const T &v) { std::ostringstream ss; - ss< -typename EnableIf::value, void>::Yes +typename std::enable_if::value>::type operator>>(const LexicalConverter &c, T &v) { std::istringstream ss(c.get()); ss.setf(std::ios_base::fmtflags(0), std::ios_base::skipws); - ss>>v; + ss >> v; if(ss.fail() || !ss.eof()) throw lexical_error("conversion failure"); } @@ -146,7 +146,7 @@ struct LexicalCast { LexicalConverter conv(s, f); T result; - conv>>result; + conv >> result; return result; } }; @@ -157,7 +157,7 @@ struct LexicalCast static std::string cast(const F &v, const Fmt &f = Fmt()) { LexicalConverter conv(f); - conv< static std::string cast(const std::string &v, const Fmt &f = Fmt()) { LexicalConverter conv(f); - conv<