34#include <NDEVR/Time.h>
35#include <NDEVR/LibAssert.h>
36#include <NDEVR/ObjectInfo.h>
118 template<
class t_type = fltp08>
229 static const uint01 Dimensions = 0;
230 static const bool Vector =
false;
231 static const bool Primitive =
true;
232 static const bool Pointer =
false;
233 static const bool Unsigned =
false;
234 static const bool Float =
true;
235 static const bool Integer =
false;
236 static const bool Number =
true;
237 static const bool String =
false;
238 static const bool Color =
false;
239 static const bool Buffer =
false;
240 static const bool Boolean =
false;
251 return value >=
TimeSpan(0) ? value : -value;
#define lib_assert(expression, message)
Definition LibAssert.h:61
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
The core Color class in the NDEVR API. Colors can be defined in several ways. The ACIColor is compact...
Definition Color.h:41
Provides shared ownership of a dynamically allocated object.
Definition Pointer.hpp:71
The core String class for the NDEVR API.
Definition String.h:69
Represents a timestamp with utilities for manipulation and conversion.
Definition Time.h:54
static constexpr uint08 SECOND
Definition Time.h:84
constexpr uint08 getNanoSeconds() const
Gets the timestamp in nanoseconds.
Definition Time.h:185
static constexpr uint08 MINUTE
Definition Time.h:85
static constexpr uint08 MILLISECOND
Definition Time.h:83
Stores a time span, or difference between two times, with an optional start time.
Definition TimeSpan.h:46
constexpr sint08 elapsedNanoseconds() const
Definition TimeSpan.h:106
TimeSpan(const Time &start, const Time &end)
Definition TimeSpan.h:72
constexpr bool operator<=(const TimeSpan &other) const
Definition TimeSpan.h:154
constexpr TimeSpan(const Time &start, const fltp08 &elapsed_seconds)
Definition TimeSpan.h:82
constexpr bool operator==(const TimeSpan &time) const
Definition TimeSpan.h:134
constexpr TimeSpan(const uint08 elapsed_nano_seconds)
Definition TimeSpan.h:64
constexpr TimeSpan operator/(const fltp08 &den) const
Definition TimeSpan.h:167
constexpr TimeSpan()
Definition TimeSpan.h:48
bool contains(const Time &time) const
String getTimeString(const String &format_string) const
constexpr void setEndTime(Time time)
Definition TimeSpan.h:98
constexpr fltp08 elapsedSeconds() const
Definition TimeSpan.h:111
constexpr TimeSpan operator-(const TimeSpan &other) const
Definition TimeSpan.h:199
constexpr TimeSpan & operator+=(const TimeSpan &other)
Definition TimeSpan.h:194
constexpr TimeSpan & operator*=(const sint08 &mult)
Definition TimeSpan.h:180
constexpr t_type elapsedMilliseconds() const
Definition TimeSpan.h:119
constexpr bool operator<(const TimeSpan &other) const
Definition TimeSpan.h:150
constexpr TimeSpan(uint04 elapsed_nano_seconds)
Definition TimeSpan.h:60
constexpr fltp08 elapsedMinutes() const
Definition TimeSpan.h:126
Time m_start_time
Definition TimeSpan.h:213
constexpr TimeSpan(sint04 elapsed_nano_seconds)
Definition TimeSpan.h:52
constexpr TimeSpan operator+(const TimeSpan &other) const
Definition TimeSpan.h:190
constexpr bool operator!=(const TimeSpan &time) const
Definition TimeSpan.h:138
constexpr TimeSpan operator*(const fltp08 &mult) const
Definition TimeSpan.h:176
constexpr TimeSpan & operator*=(const fltp08 &mult)
Definition TimeSpan.h:185
sint08 m_elapsed_time
Definition TimeSpan.h:214
constexpr TimeSpan(const Time &start, const sint08 &elapsed_nano_seconds)
Definition TimeSpan.h:77
constexpr bool operator>=(const TimeSpan &other) const
Definition TimeSpan.h:146
constexpr Time startTime() const
Definition TimeSpan.h:90
sint08 elapsedDays() const
constexpr TimeSpan operator/(const sint08 &den) const
Definition TimeSpan.h:163
constexpr TimeSpan operator*(const sint08 &mult) const
Definition TimeSpan.h:172
constexpr TimeSpan & operator-=(const TimeSpan &other)
Definition TimeSpan.h:207
constexpr TimeSpan operator-() const
Definition TimeSpan.h:203
constexpr bool operator>(const TimeSpan &other) const
Definition TimeSpan.h:142
constexpr fltp08 operator/(const TimeSpan &time_2) const
Definition TimeSpan.h:159
constexpr void setStartTime(Time time)
Definition TimeSpan.h:94
constexpr TimeSpan(const fltp08 elapsed_seconds)
Definition TimeSpan.h:68
constexpr TimeSpan(const sint08 elapsed_nano_seconds)
Definition TimeSpan.h:56
fltp08 elapsedPercent(Time time, bool clip_time) const
sint08 elapsedMonths() const
A fixed-size array with better performance compared to dynamic containers.
Definition Vector.hpp:60
int32_t sint04
-Defines an alias representing a 4 byte, signed integer. -Can represent exact integer values -2147483...
Definition BaseValues.hpp:64
constexpr bool IsInvalid(const t_type &value)
Query if 'value' is valid or invalid. Invalid values should return invalid if used for calculations o...
Definition BaseFunctions.hpp:170
int64_t sint08
-Defines an alias representing an 8 byte, signed integer -Can represent exact integer values -9223372...
Definition BaseValues.hpp:71
TimeSpan operator-(const Time &time, const Time &value)
uint8_t uint01
-Defines an alias representing a 1 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:80
String operator+(const String &string_a, const String &string_b)
Definition String.h:827
String & operator+=(String &string, const String &value)
Definition String.h:889
uint64_t uint08
-Defines an alias representing an 8 byte, unsigned integer
Definition BaseValues.hpp:106
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96
constexpr t_to cast(const Angle< t_from > &value)
Definition Angle.h:375
constexpr Angle< t_angle_type > abs(const Angle< t_angle_type > &value)
Changes an input with a negative sign, to a positive sign.
Definition AngleFunctions.h:645
Time & operator-=(Time &time, const TimeSpan &value)
constexpr Vector< t_dims, Angle< t_angle_type > > operator%(const Vector< t_dims, Angle< t_angle_type > > &vec_a, const Vector< t_dims, Angle< t_angle_type > > &vec_b)
Definition AngleFunctions.h:617
double fltp08
Defines an alias representing an 8 byte floating-point number.
Definition BaseValues.hpp:149
Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invali...
Definition BaseValues.hpp:233
Information about the object.
Definition ObjectInfo.h:54