#ifndef GOOGLE_PROTOBUF_UTIL_TIME_UTIL_H__
#define GOOGLE_PROTOBUF_UTIL_TIME_UTIL_H__
#include <cstdint>
#include <ctime>
#include <ostream>
#include <string>
#ifdef _MSC_VER
#ifdef _XBOX_ONE
struct timeval {
int64_t tv_sec;
int64_t tv_usec;
};
#else
#include <winsock2.h>
#endif
#else
#include <sys/time.h>
#endif
#include <google/protobuf/duration.pb.h>
#include <google/protobuf/timestamp.pb.h>
#include <google/protobuf/port_def.inc>
namespace google {
namespace protobuf {
namespace util {
class PROTOBUF_EXPORT TimeUtil { … };
}
}
}
namespace google {
namespace protobuf {
PROTOBUF_EXPORT Duration& operator+=(Duration& d1,
const Duration& d2);
PROTOBUF_EXPORT Duration& operator-=(Duration& d1,
const Duration& d2);
PROTOBUF_EXPORT Duration& operator*=(Duration& d, int64_t r);
PROTOBUF_EXPORT Duration& operator*=(Duration& d, double r);
PROTOBUF_EXPORT Duration& operator/=(Duration& d, int64_t r);
PROTOBUF_EXPORT Duration& operator/=(Duration& d, double r);
template <typename T>
Duration& operator*=(Duration& d, T r) { … }
template <typename T>
Duration& operator/=(Duration& d, T r) { … }
PROTOBUF_EXPORT Duration& operator%=(Duration& d1,
const Duration& d2);
inline bool operator<(const Duration& d1, const Duration& d2) { … }
inline bool operator>(const Duration& d1, const Duration& d2) { … }
inline bool operator>=(const Duration& d1, const Duration& d2) { … }
inline bool operator<=(const Duration& d1, const Duration& d2) { … }
inline bool operator==(const Duration& d1, const Duration& d2) { … }
inline bool operator!=(const Duration& d1, const Duration& d2) { … }
inline Duration operator-(const Duration& d) { … }
inline Duration operator+(const Duration& d1, const Duration& d2) { … }
inline Duration operator-(const Duration& d1, const Duration& d2) { … }
template <typename T>
inline Duration operator*(Duration d, T r) { … }
template <typename T>
inline Duration operator*(T r, Duration d) { … }
template <typename T>
inline Duration operator/(Duration d, T r) { … }
PROTOBUF_EXPORT int64_t operator/(const Duration& d1, const Duration& d2);
inline Duration operator%(const Duration& d1, const Duration& d2) { … }
inline std::ostream& operator<<(std::ostream& out, const Duration& d) { … }
PROTOBUF_EXPORT Timestamp& operator+=(Timestamp& t,
const Duration& d);
PROTOBUF_EXPORT Timestamp& operator-=(Timestamp& t,
const Duration& d);
inline bool operator<(const Timestamp& t1, const Timestamp& t2) { … }
inline bool operator>(const Timestamp& t1, const Timestamp& t2) { … }
inline bool operator>=(const Timestamp& t1, const Timestamp& t2) { … }
inline bool operator<=(const Timestamp& t1, const Timestamp& t2) { … }
inline bool operator==(const Timestamp& t1, const Timestamp& t2) { … }
inline bool operator!=(const Timestamp& t1, const Timestamp& t2) { … }
inline Timestamp operator+(const Timestamp& t, const Duration& d) { … }
inline Timestamp operator+(const Duration& d, const Timestamp& t) { … }
inline Timestamp operator-(const Timestamp& t, const Duration& d) { … }
PROTOBUF_EXPORT Duration operator-(const Timestamp& t1, const Timestamp& t2);
inline std::ostream& operator<<(std::ostream& out, const Timestamp& t) { … }
}
}
#include <google/protobuf/port_undef.inc>
#endif