Add RelativeTime::seconds() ctor

This commit is contained in:
Vinnie Falco
2013-08-02 09:36:04 -07:00
parent 6d9131084f
commit 1df03b67e7
2 changed files with 26 additions and 22 deletions

View File

@@ -21,32 +21,33 @@
*/
//==============================================================================
RelativeTime::RelativeTime (const double secs) noexcept : seconds (secs) {}
RelativeTime::RelativeTime (const RelativeTime& other) noexcept : seconds (other.seconds) {}
RelativeTime::RelativeTime (const double secs) noexcept : numSeconds (secs) {}
RelativeTime::RelativeTime (const RelativeTime& other) noexcept : numSeconds (other.numSeconds) {}
RelativeTime::~RelativeTime() noexcept {}
//==============================================================================
RelativeTime RelativeTime::milliseconds (const int milliseconds) noexcept { return RelativeTime (milliseconds * 0.001); }
RelativeTime RelativeTime::milliseconds (const int64 milliseconds) noexcept { return RelativeTime (milliseconds * 0.001); }
RelativeTime RelativeTime::seconds (double s) noexcept { return RelativeTime (s); }
RelativeTime RelativeTime::minutes (const double numberOfMinutes) noexcept { return RelativeTime (numberOfMinutes * 60.0); }
RelativeTime RelativeTime::hours (const double numberOfHours) noexcept { return RelativeTime (numberOfHours * (60.0 * 60.0)); }
RelativeTime RelativeTime::days (const double numberOfDays) noexcept { return RelativeTime (numberOfDays * (60.0 * 60.0 * 24.0)); }
RelativeTime RelativeTime::weeks (const double numberOfWeeks) noexcept { return RelativeTime (numberOfWeeks * (60.0 * 60.0 * 24.0 * 7.0)); }
//==============================================================================
int64 RelativeTime::inMilliseconds() const noexcept { return (int64) (seconds * 1000.0); }
double RelativeTime::inMinutes() const noexcept { return seconds / 60.0; }
double RelativeTime::inHours() const noexcept { return seconds / (60.0 * 60.0); }
double RelativeTime::inDays() const noexcept { return seconds / (60.0 * 60.0 * 24.0); }
double RelativeTime::inWeeks() const noexcept { return seconds / (60.0 * 60.0 * 24.0 * 7.0); }
int64 RelativeTime::inMilliseconds() const noexcept { return (int64) (numSeconds * 1000.0); }
double RelativeTime::inMinutes() const noexcept { return numSeconds / 60.0; }
double RelativeTime::inHours() const noexcept { return numSeconds / (60.0 * 60.0); }
double RelativeTime::inDays() const noexcept { return numSeconds / (60.0 * 60.0 * 24.0); }
double RelativeTime::inWeeks() const noexcept { return numSeconds / (60.0 * 60.0 * 24.0 * 7.0); }
//==============================================================================
RelativeTime& RelativeTime::operator= (const RelativeTime& other) noexcept { seconds = other.seconds; return *this; }
RelativeTime& RelativeTime::operator= (const RelativeTime& other) noexcept { numSeconds = other.numSeconds; return *this; }
RelativeTime RelativeTime::operator+= (RelativeTime t) noexcept { seconds += t.seconds; return *this; }
RelativeTime RelativeTime::operator-= (RelativeTime t) noexcept { seconds -= t.seconds; return *this; }
RelativeTime RelativeTime::operator+= (const double secs) noexcept { seconds += secs; return *this; }
RelativeTime RelativeTime::operator-= (const double secs) noexcept { seconds -= secs; return *this; }
RelativeTime RelativeTime::operator+= (RelativeTime t) noexcept { numSeconds += t.numSeconds; return *this; }
RelativeTime RelativeTime::operator-= (RelativeTime t) noexcept { numSeconds -= t.numSeconds; return *this; }
RelativeTime RelativeTime::operator+= (const double secs) noexcept { numSeconds += secs; return *this; }
RelativeTime RelativeTime::operator-= (const double secs) noexcept { numSeconds -= secs; return *this; }
RelativeTime operator+ (RelativeTime t1, RelativeTime t2) noexcept { return t1 += t2; }
RelativeTime operator- (RelativeTime t1, RelativeTime t2) noexcept { return t1 -= t2; }
@@ -68,13 +69,13 @@ static void translateTimeField (String& result, int n, const char* singular, con
String RelativeTime::getDescription (const String& returnValueForZeroTime) const
{
if (seconds < 0.001 && seconds > -0.001)
if (numSeconds < 0.001 && numSeconds > -0.001)
return returnValueForZeroTime;
String result;
result.preallocateBytes (32);
if (seconds < 0)
if (numSeconds < 0)
result << '-';
int fieldsShown = 0;
@@ -130,4 +131,4 @@ String RelativeTime::getDescription (const String& returnValueForZeroTime) const
}
return result.trimEnd();
}
}

View File

@@ -35,7 +35,7 @@
If you need an absolute time, (i.e. a date + time), see the Time class.
*/
class BEAST_API RelativeTime
class BEAST_API RelativeTime
{
public:
//==============================================================================
@@ -57,15 +57,20 @@ public:
//==============================================================================
/** Creates a new RelativeTime object representing a number of milliseconds.
@see minutes, hours, days, weeks
@see seconds, minutes, hours, days, weeks
*/
static RelativeTime milliseconds (int milliseconds) noexcept;
/** Creates a new RelativeTime object representing a number of milliseconds.
@see minutes, hours, days, weeks
@see seconds, minutes, hours, days, weeks
*/
static RelativeTime milliseconds (int64 milliseconds) noexcept;
/** Creates a new RelativeTime object representing a number of seconds.
@see milliseconds, minutes, hours, days, weeks
*/
static RelativeTime seconds (double seconds) noexcept;
/** Creates a new RelativeTime object representing a number of minutes.
@see milliseconds, hours, days, weeks
*/
@@ -95,7 +100,7 @@ public:
/** Returns the number of seconds this time represents.
@see inMilliseconds, inMinutes, inHours, inDays, inWeeks
*/
double inSeconds() const noexcept { return seconds; }
double inSeconds() const noexcept { return numSeconds; }
/** Returns the number of minutes this time represents.
@see inMilliseconds, inSeconds, inHours, inDays, inWeeks
@@ -148,7 +153,7 @@ public:
private:
//==============================================================================
double seconds;
double numSeconds;
};
//==============================================================================
@@ -171,6 +176,4 @@ RelativeTime operator+ (RelativeTime t1, RelativeTime t2) noexcept;
/** Subtracts two RelativeTimes. */
RelativeTime operator- (RelativeTime t1, RelativeTime t2) noexcept;
#endif // BEAST_RELATIVETIME_BEASTHEADER