cache sprintf of time in default formatter

This commit is contained in:
gabime
2014-03-04 00:08:30 +02:00
parent 344b3d2834
commit 2be33c19fc
4 changed files with 45 additions and 20 deletions

View File

@@ -15,7 +15,7 @@ public:
_str = other._str;
return *this;
}
const std::string& str_ref() const {
return _str;
}
@@ -53,7 +53,7 @@ public:
_dev = other._dev;
return *this;
}
const std::string& str_ref() const {
return _dev.str_ref();
}

View File

@@ -32,7 +32,20 @@ inline std::tm c11log::details::os::localtime()
return localtime(now_t);
}
// Take care of snprintf in visual studio
#ifdef _MSC_VER
#define snprintf _snprintf
#endif
inline bool operator==(const std::tm& tm1, const std::tm& tm2)
{
return (tm1.tm_sec == tm2.tm_sec &&
tm1.tm_min == tm2.tm_min &&
tm1.tm_hour == tm2.tm_hour &&
tm1.tm_mday == tm2.tm_mday &&
tm1.tm_mon == tm2.tm_mon &&
tm1.tm_year == tm2.tm_year &&
tm1.tm_isdst == tm2.tm_isdst &&
tm1.tm_gmtoff == tm2.tm_gmtoff);
}
inline bool operator!=(const std::tm& tm1, const std::tm& tm2)
{
return !(tm1==tm2);
}