diff options
Diffstat (limited to 'src/google/protobuf/util/time_util.h')
-rw-r--r-- | src/google/protobuf/util/time_util.h | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/src/google/protobuf/util/time_util.h b/src/google/protobuf/util/time_util.h index 11268157..58dbf8e6 100644 --- a/src/google/protobuf/util/time_util.h +++ b/src/google/protobuf/util/time_util.h @@ -31,13 +31,17 @@ #ifndef GOOGLE_PROTOBUF_UTIL_TIME_UTIL_H__ #define GOOGLE_PROTOBUF_UTIL_TIME_UTIL_H__ -#include <sys/time.h> - #include <ctime> #include <ostream> #include <string> +#ifdef _MSC_VER +#include <winsock2.h> +#else +#include <sys/time.h> +#endif #include <google/protobuf/duration.pb.h> +#include <google/protobuf/stubs/port.h> #include <google/protobuf/timestamp.pb.h> namespace google { @@ -85,6 +89,9 @@ class LIBPROTOBUF_EXPORT TimeUtil { static string ToString(const Duration& duration); static bool FromString(const string& value, Duration* timestamp); +#ifdef GetCurrentTime +#undef GetCurrentTime // Visual Studio has macro GetCurrentTime +#endif // Gets the current UTC time. static Timestamp GetCurrentTime(); // Returns the Time representing "1970-01-01 00:00:00". @@ -153,12 +160,12 @@ namespace protobuf { // Overloaded operators for Duration. // // Assignment operators. -Duration& operator+=(Duration& d1, const Duration& d2); // NOLINT -Duration& operator-=(Duration& d1, const Duration& d2); // NOLINT -Duration& operator*=(Duration& d, int64 r); // NOLINT -Duration& operator*=(Duration& d, double r); // NOLINT -Duration& operator/=(Duration& d, int64 r); // NOLINT -Duration& operator/=(Duration& d, double r); // NOLINT +LIBPROTOBUF_EXPORT Duration& operator+=(Duration& d1, const Duration& d2); // NOLINT +LIBPROTOBUF_EXPORT Duration& operator-=(Duration& d1, const Duration& d2); // NOLINT +LIBPROTOBUF_EXPORT Duration& operator*=(Duration& d, int64 r); // NOLINT +LIBPROTOBUF_EXPORT Duration& operator*=(Duration& d, double r); // NOLINT +LIBPROTOBUF_EXPORT Duration& operator/=(Duration& d, int64 r); // NOLINT +LIBPROTOBUF_EXPORT Duration& operator/=(Duration& d, double r); // NOLINT // Overload for other integer types. template <typename T> Duration& operator*=(Duration& d, T r) { // NOLINT @@ -170,7 +177,7 @@ Duration& operator/=(Duration& d, T r) { // NOLINT int64 x = r; return d /= x; } -Duration& operator%=(Duration& d1, const Duration& d2); // NOLINT +LIBPROTOBUF_EXPORT Duration& operator%=(Duration& d1, const Duration& d2); // NOLINT // Relational operators. inline bool operator<(const Duration& d1, const Duration& d2) { if (d1.seconds() == d2.seconds()) { @@ -221,7 +228,7 @@ template<typename T> inline Duration operator/(Duration d, T r) { return d /= r; } -int64 operator/(const Duration& d1, const Duration& d2); +LIBPROTOBUF_EXPORT int64 operator/(const Duration& d1, const Duration& d2); inline Duration operator%(const Duration& d1, const Duration& d2) { Duration result = d1; @@ -236,7 +243,9 @@ inline ostream& operator<<(ostream& out, const Duration& d) { // Overloaded operators for Timestamp // // Assignement operators. +LIBPROTOBUF_EXPORT Timestamp& operator+=(Timestamp& t, const Duration& d); // NOLINT +LIBPROTOBUF_EXPORT Timestamp& operator-=(Timestamp& t, const Duration& d); // NOLINT // Relational operators. inline bool operator<(const Timestamp& t1, const Timestamp& t2) { @@ -273,7 +282,7 @@ inline Timestamp operator-(const Timestamp& t, const Duration& d) { Timestamp result = t; return result -= d; } -Duration operator-(const Timestamp& t1, const Timestamp& t2); +LIBPROTOBUF_EXPORT Duration operator-(const Timestamp& t1, const Timestamp& t2); inline ostream& operator<<(ostream& out, const Timestamp& t) { out << google::protobuf::util::TimeUtil::ToString(t); |