Home | History | Annotate | Download | only in include

Lines Matching full:duration

65       struct duration;
67 template<typename _Clock, typename _Duration = typename _Clock::duration>
71 // 20.8.2.3 specialization of common_type (for duration)
73 struct common_type<chrono::duration<_Rep1, _Period1>,
74 chrono::duration<_Rep2, _Period2>>
76 typedef chrono::duration<typename common_type<_Rep1, _Rep2>::type,
99 static _ToDuration __cast(const duration<_Rep, _Period>& __d)
112 static _ToDuration __cast(const duration<_Rep, _Period>& __d)
123 static _ToDuration __cast(const duration<_Rep, _Period>& __d)
134 static _ToDuration __cast(const duration<_Rep, _Period>& __d)
144 duration_cast(const duration<_Rep, _Period>& __d)
184 struct __is_duration<duration<_Rep, _Period>>
198 /// duration
200 struct duration
202 static_assert(!__is_duration<_Rep>::value, "rep cannot be a duration");
211 duration() = default;
214 explicit duration(_Rep2 const& __rep)
220 "cannot construct integral duration with floating point type");
224 duration(const duration<_Rep2, _Period2>& __d)
225 : __r(duration_cast<duration>(__d).count())
229 "the resulting duration is not exactly representable");
232 ~duration() = default;
233 duration(const duration&) = default;
234 duration& operator=(const duration&) = default;
242 duration
246 duration
248 { return duration(-__r); }
250 duration&
257 duration
259 { return duration(__r++); }
261 duration&
268 duration
270 { return duration(__r--); }
272 duration&
273 operator+=(const duration& __d)
279 duration&
280 operator-=(const duration& __d)
286 duration&
293 duration&
302 static const duration
304 { return duration(duration_values<rep>::zero()); }
306 static const duration
308 { return duration(duration_values<rep>::min()); }
310 static const duration
312 { return duration(duration_values<rep>::max()); }
320 inline typename common_type<duration<_Rep1, _Period1>,
321 duration<_Rep2, _Period2>>::type
322 operator+(const duration<_Rep1, _Period1>& __lhs,
323 const duration<_Rep2, _Period2>& __rhs)
325 typedef typename common_type<duration<_Rep1, _Period1>,
326 duration<_Rep2, _Period2>>::type __ct;
332 inline typename common_type<duration<_Rep1, _Period1>,
333 duration<_Rep2, _Period2>>::type
334 operator-(const duration<_Rep1, _Period1>& __lhs,
335 const duration<_Rep2, _Period2>& __rhs)
337 typedef typename common_type<duration<_Rep1, _Period1>,
338 duration<_Rep2, _Period2>>::type __ct;
343 inline duration<typename common_type<_Rep1, _Rep2>::type, _Period>
344 operator*(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
347 return duration<__cr, _Period>(__d) *= __s;
351 inline duration<typename common_type<_Rep1, _Rep2>::type, _Period>
352 operator*(const _Rep2& __s, const duration<_Rep1, _Period>& __d)
359 struct __division_impl<duration<_Rep1, _Period>, _Rep2,
364 duration<typename common_type<_Rep1, _Rep2>::type, _Period> __rt;
367 __divide(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
368 { return duration<__cr, _Period>(__d) /= __s; }
373 struct __division_impl<duration<_Rep1, _Period1>,
374 duration<_Rep2, _Period2>>
376 typedef typename common_type<duration<_Rep1, _Period1>,
377 duration<_Rep2, _Period2>>::type __ct;
381 __divide(const duration<_Rep1, _Period1>& __lhs,
382 const duration<_Rep2, _Period2>& __rhs)
387 inline typename __division_impl<duration<_Rep, _Period>, _Up>::__rt
388 operator/(const duration<_Rep, _Period>& __d, const _Up& __u)
391 __division_impl<duration<_Rep, _Period>, _Up>::__divide(__d, __u);
398 operator==(const duration<_Rep1, _Period1>& __lhs,
399 const duration<_Rep2, _Period2>& __rhs)
401 typedef typename common_type<duration<_Rep1, _Period1>,
402 duration<_Rep2, _Period2>>::type __ct;
409 operator<(const duration<_Rep1, _Period1>& __lhs,
410 const duration<_Rep2, _Period2>& __rhs)
412 typedef typename common_type<duration<_Rep1, _Period1>,
413 duration<_Rep2, _Period2>>::type __ct;
420 operator!=(const duration<_Rep1, _Period1>& __lhs,
421 const duration<_Rep2, _Period2>& __rhs)
427 operator<=(const duration<_Rep1, _Period1>& __lhs,
428 const duration<_Rep2, _Period2>& __rhs)
434 operator>(const duration<_Rep1, _Period1>& __lhs,
435 const duration<_Rep2, _Period2>& __rhs)
441 operator>=(const duration<_Rep1, _Period1>& __lhs,
442 const duration<_Rep2, _Period2>& __rhs)
446 typedef duration<int64_t, nano> nanoseconds;
449 typedef duration<int64_t, micro> microseconds;
452 typedef duration<int64_t, milli> milliseconds;
455 typedef duration<int64_t > seconds;
458 typedef duration<int, ratio< 60>> minutes;
461 typedef duration<int, ratio<3600>> hours;
468 typedef _Duration duration;
469 typedef typename duration::rep rep;
470 typedef typename duration::period period;
472 time_point() : __d(duration::zero())
475 explicit time_point(const duration& __dur)
476 : __d(duration::zero() + __dur)
486 duration
492 operator+=(const duration& __dur)
499 operator-=(const duration& __dur)
509 { return time_point(duration::min()); }
513 { return time_point(duration::max()); }
516 duration __d;
531 typename common_type<_Duration1, duration<_Rep2, _Period2>>::type>
533 const duration<_Rep2, _Period2>& __rhs)
537 duration<_Rep2, _Period2>>::type> __ct;
544 typename common_type<duration<_Rep1, _Period1>, _Duration2>::type>
545 operator+(const duration<_Rep1, _Period1>& __lhs,
552 typename common_type<_Duration1, duration<_Rep2, _Period2>>::type>
554 const duration<_Rep2, _Period2>& __rhs)
603 typedef chrono::nanoseconds duration;
605 typedef chrono::microseconds duration;
607 typedef chrono::seconds duration;
610 typedef duration::rep rep;
611 typedef duration::period period;
612 typedef chrono::time_point<system_clock, duration> time_point;
630 return time_point_cast<system_clock::duration>(
638 system_clock::duration::min() <
639 system_clock::duration::zero(),
640 "a clock's minimum duration cannot be less than its epoch");
648 typedef chrono::nanoseconds duration;
649 typedef duration::rep rep;
650 typedef duration::period period;
651 typedef chrono::time_point<monotonic_clock, duration> time_point;