Lines Matching defs:Duration
31 // Defines utilities for the Timestamp and Duration well known types.
61 // Utility functions for Timestamp and Duration.
64 typedef google::protobuf::Duration Duration;
67 // The min/max Timestamp/Duration values we support.
94 // Converts Duration to/from string format. The string format will contains
96 // represent the exact Duration value. For example:
98 // The range that can be represented by Duration is from -315,576,000,000
100 static std::string ToString(const Duration& duration);
101 static bool FromString(const std::string& value, Duration* timestamp);
111 // Converts between Duration and integer types. The behavior is undefined if
112 // the input value is not in the valid range of Duration.
113 static Duration NanosecondsToDuration(int64 nanos);
114 static Duration MicrosecondsToDuration(int64 micros);
115 static Duration MillisecondsToDuration(int64 millis);
116 static Duration SecondsToDuration(int64 seconds);
117 static Duration MinutesToDuration(int64 minutes);
118 static Duration HoursToDuration(int64 hours);
123 // valid range of Duration, or have an invalid nanos value (i.e., larger
126 static int64 DurationToNanoseconds(const Duration& duration);
127 static int64 DurationToMicroseconds(const Duration& duration);
128 static int64 DurationToMilliseconds(const Duration& duration);
129 static int64 DurationToSeconds(const Duration& duration);
130 static int64 DurationToMinutes(const Duration& duration);
131 static int64 DurationToHours(const Duration& duration);
150 // have a different precision and time range from Timestamp/Duration.
162 static Duration TimevalToDuration(const timeval& value);
163 static timeval DurationToTimeval(const Duration& value);
172 // Overloaded operators for Duration.
175 PROTOBUF_EXPORT Duration& operator+=(Duration& d1,
176 const Duration& d2); // NOLINT
177 PROTOBUF_EXPORT Duration& operator-=(Duration& d1,
178 const Duration& d2); // NOLINT
179 PROTOBUF_EXPORT Duration& operator*=(Duration& d, int64 r); // NOLINT
180 PROTOBUF_EXPORT Duration& operator*=(Duration& d, double r); // NOLINT
181 PROTOBUF_EXPORT Duration& operator/=(Duration& d, int64 r); // NOLINT
182 PROTOBUF_EXPORT Duration& operator/=(Duration& d, double r); // NOLINT
185 Duration& operator*=(Duration& d, T r) { // NOLINT
190 Duration& operator/=(Duration& d, T r) { // NOLINT
194 PROTOBUF_EXPORT Duration& operator%=(Duration& d1,
195 const Duration& d2); // NOLINT
197 inline bool operator<(const Duration& d1, const Duration& d2) {
203 inline bool operator>(const Duration& d1, const Duration& d2) {
206 inline bool operator>=(const Duration& d1, const Duration& d2) {
209 inline bool operator<=(const Duration& d1, const Duration& d2) {
212 inline bool operator==(const Duration& d1, const Duration& d2) {
215 inline bool operator!=(const Duration& d1, const Duration& d2) {
219 inline Duration operator-(const Duration& d) {
220 Duration result;
225 inline Duration operator+(const Duration& d1, const Duration& d2) {
226 Duration result = d1;
229 inline Duration operator-(const Duration& d1, const Duration& d2) {
230 Duration result = d1;
235 inline Duration operator*(Duration d, T r) {
239 inline Duration operator*(T r, Duration d) {
243 inline Duration operator/(Duration d, T r) {
246 PROTOBUF_EXPORT int64 operator/(const Duration& d1, const Duration& d2);
248 inline Duration operator%(const Duration& d1, const Duration& d2) {
249 Duration result = d1;
253 inline std::ostream& operator<<(std::ostream& out, const Duration& d) {
262 const Duration& d); // NOLINT
264 const Duration& d); // NOLINT
288 inline Timestamp operator+(const Timestamp& t, const Duration& d) {
292 inline Timestamp operator+(const Duration& d, const Timestamp& t) {
296 inline Timestamp operator-(const Timestamp& t, const Duration& d) {
300 PROTOBUF_EXPORT Duration operator-(const Timestamp& t1, const Timestamp& t2);