8#include "Arp/System/Commons/Chrono/DurationUnit.hpp"
12namespace Arp {
namespace System {
namespace Commons {
namespace Chrono
18 using Ticks = std::chrono::microseconds;
22 Duration(
int64 factor = 0, DurationUnit unit = DurationUnit::None);
31 static const Ticks Tick;
34 static Duration Parse(
const char* input);
35 static bool TryParse(
const char* input,
Duration& result);
38 int64 GetFactor(
void)
const;
39 DurationUnit GetUnit(
void)
const;
40 int64 GetMicroseconds(
void)
const;
43 Nanoseconds ToNanoseconds(
void)
const;
44 Microseconds ToMicroseconds(
void)
const;
45 Milliseconds ToMilliseconds(
void)
const;
46 Seconds ToSeconds(
void)
const;
47 Minutes ToMinutes(
void)
const;
48 Hours ToHours(
void)
const;
49 Ticks ToTicks(
void)
const;
50 String ToString(
void)
const;
52 void GetDuration(Nanoseconds& value)
const;
53 void GetDuration(Microseconds& value)
const;
54 void GetDuration(Milliseconds& value)
const;
55 void GetDuration(Seconds& value)
const;
56 void GetDuration(Minutes& value)
const;
57 void GetDuration(Hours& value)
const;
64 Nanoseconds GetNanoseconds(
void)
const;
71std::ostream& operator<<(std::ostream& os,
const Duration& value);
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Definition: Duration.hpp:16
~Duration(void)=default
Destructs this instance and frees all resources.
Duration & operator=(const Duration &arg)=default
Assignment operator.
Duration(int64 factor=0, DurationUnit unit=DurationUnit::None)
Constructs an Duration instance.
Definition: Duration.cpp:57
Duration(const Duration &arg)=default
Copy contructor.
std::int64_t int64
The Arp integer type of 8 byte size.
Definition: PrimitiveTypes.hpp:39
Root namespace for the PLCnext API