diff options
Diffstat (limited to 'src/google/protobuf/util/time_util.h')
-rw-r--r-- | src/google/protobuf/util/time_util.h | 49 |
1 files changed, 29 insertions, 20 deletions
diff --git a/src/google/protobuf/util/time_util.h b/src/google/protobuf/util/time_util.h index b8846935..bbda5380 100644 --- a/src/google/protobuf/util/time_util.h +++ b/src/google/protobuf/util/time_util.h @@ -45,12 +45,14 @@ #include <google/protobuf/duration.pb.h> #include <google/protobuf/timestamp.pb.h> +#include <google/protobuf/port_def.inc> + namespace google { namespace protobuf { namespace util { // Utility functions for Timestamp and Duration. -class LIBPROTOBUF_EXPORT TimeUtil { +class PROTOBUF_EXPORT TimeUtil { typedef google::protobuf::Timestamp Timestamp; typedef google::protobuf::Duration Duration; @@ -79,8 +81,8 @@ class LIBPROTOBUF_EXPORT TimeUtil { // // Example of accepted format: // "1972-01-01T10:00:20.021-05:00" - static string ToString(const Timestamp& timestamp); - static bool FromString(const string& value, Timestamp* timestamp); + static std::string ToString(const Timestamp& timestamp); + static bool FromString(const std::string& value, Timestamp* timestamp); // Converts Duration to/from string format. The string format will contains // 3, 6, or 9 fractional digits depending on the precision required to @@ -88,8 +90,8 @@ class LIBPROTOBUF_EXPORT TimeUtil { // "1s", "1.010s", "1.000000100s", "-3.100s" // The range that can be represented by Duration is from -315,576,000,000 // to +315,576,000,000 inclusive (in seconds). - static string ToString(const Duration& duration); - static bool FromString(const string& value, Duration* timestamp); + static std::string ToString(const Duration& duration); + static bool FromString(const std::string& value, Duration* timestamp); #ifdef GetCurrentTime #undef GetCurrentTime // Visual Studio has macro GetCurrentTime @@ -156,18 +158,21 @@ class LIBPROTOBUF_EXPORT TimeUtil { } // namespace util } // namespace protobuf +} // namespace google - +namespace google { namespace protobuf { // Overloaded operators for Duration. // // Assignment operators. -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 +PROTOBUF_EXPORT Duration& operator+=(Duration& d1, + const Duration& d2); // NOLINT +PROTOBUF_EXPORT Duration& operator-=(Duration& d1, + const Duration& d2); // NOLINT +PROTOBUF_EXPORT Duration& operator*=(Duration& d, int64 r); // NOLINT +PROTOBUF_EXPORT Duration& operator*=(Duration& d, double r); // NOLINT +PROTOBUF_EXPORT Duration& operator/=(Duration& d, int64 r); // NOLINT +PROTOBUF_EXPORT Duration& operator/=(Duration& d, double r); // NOLINT // Overload for other integer types. template <typename T> Duration& operator*=(Duration& d, T r) { // NOLINT @@ -179,7 +184,8 @@ Duration& operator/=(Duration& d, T r) { // NOLINT int64 x = r; return d /= x; } -LIBPROTOBUF_EXPORT Duration& operator%=(Duration& d1, const Duration& d2); // NOLINT +PROTOBUF_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()) { @@ -230,7 +236,7 @@ template<typename T> inline Duration operator/(Duration d, T r) { return d /= r; } -LIBPROTOBUF_EXPORT int64 operator/(const Duration& d1, const Duration& d2); +PROTOBUF_EXPORT int64 operator/(const Duration& d1, const Duration& d2); inline Duration operator%(const Duration& d1, const Duration& d2) { Duration result = d1; @@ -238,15 +244,17 @@ inline Duration operator%(const Duration& d1, const Duration& d2) { } inline std::ostream& operator<<(std::ostream& out, const Duration& d) { - out << google::protobuf::util::TimeUtil::ToString(d); + out << ::PROTOBUF_NAMESPACE_ID::util::TimeUtil::ToString(d); return out; } // 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 +PROTOBUF_EXPORT Timestamp& operator+=(Timestamp& t, + const Duration& d); // NOLINT +PROTOBUF_EXPORT Timestamp& operator-=(Timestamp& t, + const Duration& d); // NOLINT // Relational operators. inline bool operator<(const Timestamp& t1, const Timestamp& t2) { if (t1.seconds() == t2.seconds()) { @@ -282,15 +290,16 @@ inline Timestamp operator-(const Timestamp& t, const Duration& d) { Timestamp result = t; return result -= d; } -LIBPROTOBUF_EXPORT Duration operator-(const Timestamp& t1, const Timestamp& t2); +PROTOBUF_EXPORT Duration operator-(const Timestamp& t1, const Timestamp& t2); inline std::ostream& operator<<(std::ostream& out, const Timestamp& t) { - out << google::protobuf::util::TimeUtil::ToString(t); + out << ::PROTOBUF_NAMESPACE_ID::util::TimeUtil::ToString(t); return out; } } // namespace protobuf +} // namespace google +#include <google/protobuf/port_undef.inc> -} // namespace google #endif // GOOGLE_PROTOBUF_UTIL_TIME_UTIL_H__ |