You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by jo...@apache.org on 2016/01/11 20:24:30 UTC

mesos git commit: Provided constexpr Duration min and max values.

Repository: mesos
Updated Branches:
  refs/heads/master 468b8ecbe -> 29f26ea4e


Provided constexpr Duration min and max values.

For that we need to provide a constexpr constructor for Nanoseconds at
least; make all constructors of Duration types constexpr if possible.

Review: https://reviews.apache.org/r/41881/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/29f26ea4
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/29f26ea4
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/29f26ea4

Branch: refs/heads/master
Commit: 29f26ea4e6e32489488d05fa3a164055c3cbcf1d
Parents: 468b8ec
Author: Benjamin Bannier <be...@mesosphere.io>
Authored: Mon Jan 11 11:06:02 2016 -0800
Committer: Joris Van Remoortere <jo...@gmail.com>
Committed: Mon Jan 11 11:23:55 2016 -0800

----------------------------------------------------------------------
 .../3rdparty/stout/include/stout/duration.hpp   | 48 ++++++++++----------
 1 file changed, 23 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/29f26ea4/3rdparty/libprocess/3rdparty/stout/include/stout/duration.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/include/stout/duration.hpp b/3rdparty/libprocess/3rdparty/stout/include/stout/duration.hpp
index dc610e6..40b2260 100644
--- a/3rdparty/libprocess/3rdparty/stout/include/stout/duration.hpp
+++ b/3rdparty/libprocess/3rdparty/stout/include/stout/duration.hpp
@@ -76,7 +76,7 @@ public:
 
   static Try<Duration> create(double seconds);
 
-  Duration() : nanos(0) {}
+  constexpr Duration() : nanos(0) {}
 
   explicit Duration(const timeval& t)
   {
@@ -159,15 +159,13 @@ public:
     return quotient;
   }
 
-  // TODO(xujyan): Use constexpr for the following variables after
-  // switching to C++11.
   // A constant holding the maximum value a Duration can have.
-  static Duration max();
+  static constexpr Duration max();
   // A constant holding the minimum (negative) value a Duration can
   // have.
-  static Duration min();
+  static constexpr Duration min();
   // A constant holding a Duration of a "zero" value.
-  static Duration zero() { return Duration(); }
+  static constexpr Duration zero() { return Duration(); }
 
 protected:
   static const int64_t NANOSECONDS  = 1;
@@ -180,16 +178,16 @@ protected:
   static const int64_t WEEKS        = 7 * DAYS;
 
   // For the Seconds, Minutes, Hours, Days & Weeks constructor.
-  Duration(int32_t value, int64_t unit)
+  constexpr Duration(int32_t value, int64_t unit)
     : nanos(value * unit) {}
 
   // For the Nanoseconds, Microseconds, Milliseconds constructor.
-  Duration(int64_t value, int64_t unit)
+  constexpr Duration(int64_t value, int64_t unit)
     : nanos(value * unit) {}
 
 private:
   // Used only by "parse".
-  Duration(double value, int64_t unit)
+  constexpr Duration(double value, int64_t unit)
     : nanos(static_cast<int64_t>(value * unit)) {}
 
   int64_t nanos;
@@ -203,10 +201,10 @@ private:
 class Nanoseconds : public Duration
 {
 public:
-  explicit Nanoseconds(int64_t nanoseconds)
+  explicit constexpr Nanoseconds(int64_t nanoseconds)
     : Duration(nanoseconds, NANOSECONDS) {}
 
-  Nanoseconds(const Duration& d) : Duration(d) {}
+  constexpr Nanoseconds(const Duration& d) : Duration(d) {}
 
   double value() const { return static_cast<double>(this->ns()); }
 
@@ -217,10 +215,10 @@ public:
 class Microseconds : public Duration
 {
 public:
-  explicit Microseconds(int64_t microseconds)
+  explicit constexpr Microseconds(int64_t microseconds)
     : Duration(microseconds, MICROSECONDS) {}
 
-  Microseconds(const Duration& d) : Duration(d) {}
+  constexpr Microseconds(const Duration& d) : Duration(d) {}
 
   double value() const { return this->us(); }
 
@@ -231,10 +229,10 @@ public:
 class Milliseconds : public Duration
 {
 public:
-  explicit Milliseconds(int64_t milliseconds)
+  explicit constexpr Milliseconds(int64_t milliseconds)
     : Duration(milliseconds, MILLISECONDS) {}
 
-  Milliseconds(const Duration& d) : Duration(d) {}
+  constexpr Milliseconds(const Duration& d) : Duration(d) {}
 
   double value() const { return this->ms(); }
 
@@ -245,10 +243,10 @@ public:
 class Seconds : public Duration
 {
 public:
-  explicit Seconds(int64_t seconds)
+  explicit constexpr Seconds(int64_t seconds)
     : Duration(seconds, SECONDS) {}
 
-  Seconds(const Duration& d) : Duration(d) {}
+  constexpr Seconds(const Duration& d) : Duration(d) {}
 
   double value() const { return this->secs(); }
 
@@ -259,10 +257,10 @@ public:
 class Minutes : public Duration
 {
 public:
-  explicit Minutes(int32_t minutes)
+  explicit constexpr Minutes(int32_t minutes)
     : Duration(minutes, MINUTES) {}
 
-  Minutes(const Duration& d) : Duration(d) {}
+  constexpr Minutes(const Duration& d) : Duration(d) {}
 
   double value() const { return this->mins(); }
 
@@ -273,10 +271,10 @@ public:
 class Hours : public Duration
 {
 public:
-  explicit Hours(int32_t hours)
+  explicit constexpr Hours(int32_t hours)
     : Duration(hours, HOURS) {}
 
-  Hours(const Duration& d) : Duration(d) {}
+  constexpr Hours(const Duration& d) : Duration(d) {}
 
   double value() const { return this->hrs(); }
 
@@ -301,9 +299,9 @@ public:
 class Weeks : public Duration
 {
 public:
-  explicit Weeks(int32_t value) : Duration(value, WEEKS) {}
+  explicit constexpr Weeks(int32_t value) : Duration(value, WEEKS) {}
 
-  Weeks(const Duration& d) : Duration(d) {}
+  constexpr Weeks(const Duration& d) : Duration(d) {}
 
   double value() const { return this->weeks(); }
 
@@ -410,9 +408,9 @@ inline Try<Duration> Duration::create(double seconds)
 }
 
 
-inline Duration Duration::max() { return Nanoseconds(LLONG_MAX); }
+inline constexpr Duration Duration::max() { return Nanoseconds(LLONG_MAX); }
 
 
-inline Duration Duration::min() { return Nanoseconds(LLONG_MIN); }
+inline constexpr Duration Duration::min() { return Nanoseconds(LLONG_MIN); }
 
 #endif // __STOUT_DURATION_HPP__