Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(729)

Unified Diff: src/base/platform/time.h

Issue 2395553002: Reland "Turn libbase into a component" (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/base/platform/semaphore.h ('k') | src/base/sys-info.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/base/platform/time.h
diff --git a/src/base/platform/time.h b/src/base/platform/time.h
index be62014f91db7e0535d47cc7aa25737d9c1801f9..ed1751268f59bf49abb934c718937c4d72d4eccd 100644
--- a/src/base/platform/time.h
+++ b/src/base/platform/time.h
@@ -9,6 +9,7 @@
#include <iosfwd>
#include <limits>
+#include "src/base/base-export.h"
#include "src/base/bits.h"
#include "src/base/macros.h"
#include "src/base/safe_math.h"
@@ -42,7 +43,7 @@ class TimeBase;
// This class represents a duration of time, internally represented in
// microseonds.
-class TimeDelta final {
+class V8_BASE_EXPORT TimeDelta final {
public:
TimeDelta() : delta_(0) {}
@@ -277,7 +278,7 @@ class TimeBase {
// This class represents an absolute point in time, internally represented as
// microseconds (s/1,000,000) since 00:00:00 UTC, January 1, 1970.
-class Time final : public time_internal::TimeBase<Time> {
+class V8_BASE_EXPORT Time final : public time_internal::TimeBase<Time> {
public:
// Contains the NULL time. Use Time::Now() to get the current time.
Time() : TimeBase(0) {}
@@ -322,7 +323,7 @@ class Time final : public time_internal::TimeBase<Time> {
explicit Time(int64_t us) : TimeBase(us) {}
};
-std::ostream& operator<<(std::ostream&, const Time&);
+V8_BASE_EXPORT std::ostream& operator<<(std::ostream&, const Time&);
inline Time operator+(const TimeDelta& delta, const Time& time) {
return time + delta;
@@ -339,7 +340,8 @@ inline Time operator+(const TimeDelta& delta, const Time& time) {
// Time::Now() may actually decrease or jump). But note that TimeTicks may
// "stand still", for example if the computer suspended.
-class TimeTicks final : public time_internal::TimeBase<TimeTicks> {
+class V8_BASE_EXPORT TimeTicks final
+ : public time_internal::TimeBase<TimeTicks> {
public:
TimeTicks() : TimeBase(0) {}
@@ -376,7 +378,8 @@ inline TimeTicks operator+(const TimeDelta& delta, const TimeTicks& ticks) {
// Represents a clock, specific to a particular thread, than runs only while the
// thread is running.
-class ThreadTicks final : public time_internal::TimeBase<ThreadTicks> {
+class V8_BASE_EXPORT ThreadTicks final
+ : public time_internal::TimeBase<ThreadTicks> {
public:
ThreadTicks() : TimeBase(0) {}
@@ -408,6 +411,9 @@ class ThreadTicks final : public time_internal::TimeBase<ThreadTicks> {
#endif
private:
+ template <class TimeClass>
+ friend class time_internal::TimeBase;
+
// Please use Now() or GetForThread() to create a new object. This is for
// internal use and testing. Ticks are in microseconds.
explicit ThreadTicks(int64_t ticks) : TimeBase(ticks) {}
« no previous file with comments | « src/base/platform/semaphore.h ('k') | src/base/sys-info.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698