121 explicit inline Time (
double v)
137 explicit inline Time (
long int v)
145 explicit inline Time (
long long int v)
153 explicit inline Time (
unsigned int v)
161 explicit inline Time (
unsigned long int v)
169 explicit inline Time (
unsigned long long int v)
197 explicit Time (
const std::string &
s);
204 return Time (std::numeric_limits<int64_t>::min ());
211 return Time (std::numeric_limits<int64_t>::max ());
460 return Time (retval);
481 :
m_data (value.GetHigh ())
540 const bool convert =
true);
598 static void Mark (
Time *
const time);
754 std::ostream &
operator<< (std::ostream & os,
const Time & time);
761 std::istream &
operator>> (std::istream & is, Time & time);
static struct Resolution * PeekResolution(void)
Time Seconds(double seconds)
create ns3::Time instances in units of seconds.
std::istream & operator>>(std::istream &is, Angles &a)
initialize a struct Angles from input
Simulation virtual time values and global simulation resolution.
smart pointer class similar to boost::intrusive_ptr
bool IsPositive(void) const
Time(const int64x64_t &value)
Time MilliSeconds(uint64_t ms)
create ns3::Time instances in units of milliseconds.
Time Minutes(double minutes)
create ns3::Time instances in units of minutes (equal to 60 seconds).
double ToDouble(enum Unit timeUnit) const
Control the scheduling of simulation events.
Time MilliSeconds(int64x64_t ms)
int64x64_t operator+(const int64x64_t &lhs)
Unary plus operator.
friend Time operator*(const Time &lhs, const int64_t &rhs)
static Time Min()
Minimum representable Time.
A Time with attached unit, to facilitate output in that unit.
Time TimeStep(uint64_t ts)
Time Minutes(int64x64_t minutes)
Time PicoSeconds(uint64_t ps)
create ns3::Time instances in units of picoseconds.
Time FemtoSeconds(int64x64_t fs)
High precision numerical type, implementing Q64.64 fixed precision.
friend bool operator<(const Time &lhs, const Time &rhs)
friend bool operator!=(const Time &lhs, const Time &rhs)
int64_t ToInteger(enum Unit timeUnit) const
Time Days(int64x64_t days)
int64x64_t operator-(const int64x64_t &lhs)
Unary negation operator (change sign operator)
static Time From(const int64x64_t &value)
Time Years(double years)
create ns3::Time instances in units of years (equal to 365 days).
#define ATTRIBUTE_VALUE_DEFINE(Name)
Declare the attribute value class NameValue for the class Name
int64x64_t & operator+=(int64x64_t &lhs, const int64x64_t &rhs)
Compound addition operator.
void MulByInvert(const int64x64_t &o)
Multiply this value by a Q0.128 value, presumably representing an inverse, completing a division oper...
int64_t GetFemtoSeconds(void) const
Time NanoSeconds(int64x64_t ns)
double GetDouble(void) const
Get this value as a double.
Time(unsigned long int v)
Time FemtoSeconds(uint64_t fs)
create ns3::Time instances in units of femtoseconds.
bool operator>=(const int64x64_t &lhs, const int64x64_t &rhs)
Greater or equal operator.
int Compare(const Time &o) const
Time Seconds(int64x64_t seconds)
Time MicroSeconds(int64x64_t us)
friend Time operator-(const Time &lhs, const Time &rhs)
static Time FromDouble(double value, enum Unit timeUnit)
struct Information info[LAST]
Conversion info from current unit.
static bool NS_UNUSED_GLOBAL(g_TimeStaticInit)
Force static initialization of Time.
friend Time operator+(const Time &lhs, const Time &rhs)
static Time Max()
Maximum representable Time.
friend Time Abs(const Time &time)
Absolute value function for Time.
bool operator<=(const int64x64_t &lhs, const int64x64_t &rhs)
Less or equal operator.
double GetSeconds(void) const
int64x64_t operator*(const int64x64_t &lhs, const int64x64_t &rhs)
Multiplication operator.
int64x64_t Min(const int64x64_t &a, const int64x64_t &b)
Minimum.
static enum Unit GetResolution(void)
int64_t GetMicroSeconds(void) const
friend Time & operator-=(Time &lhs, const Time &rhs)
Current time unit, and conversion info.
static bool StaticInit()
Function to force static initialization of Time.
Time MicroSeconds(uint64_t us)
create ns3::Time instances in units of microseconds.
bool IsStrictlyPositive(void) const
Time NanoSeconds(uint64_t ns)
create ns3::Time instances in units of nanoseconds.
Unit
The unit to use to interpret a number representing time.
int64x64_t Max(const int64x64_t &a, const int64x64_t &b)
Maximum.
static void ConvertTimes(const enum Unit unit)
Convert existing Times to the new unit.
Time PicoSeconds(int64x64_t ps)
friend bool operator>=(const Time &lhs, const Time &rhs)
ATTRIBUTE_ACCESSOR_DEFINE(Boolean)
static struct Resolution SetDefaultNsResolution(void)
bool operator<(const int64x64_t &lhs, const int64x64_t &rhs)
Less than operator.
int64x64_t operator/(const int64x64_t &lhs, const int64x64_t &rhs)
Division operator.
int64x64_t Abs(const int64x64_t &value)
Absolute value.
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output
bool operator!=(Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > a, Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > b)
Inequality test.
Time(unsigned long long int v)
Time Years(int64x64_t years)
friend Time & operator+=(Time &lhs, const Time &rhs)
friend bool operator==(const Time &lhs, const Time &rhs)
bool IsNegative(void) const
int64_t GetTimeStep(void) const
friend int64_t operator/(const Time &lhs, const Time &rhs)
double GetHours(void) const
Time Days(double days)
create ns3::Time instances in units of days (equal to 24 hours).
int64_t GetInteger(void) const
double GetDouble(void) const
static struct Information * PeekInformation(enum Unit timeUnit)
int64_t GetNanoSeconds(void) const
static void Mark(Time *const time)
Record a Time instance with the MarkedTimes.
friend bool operator>(const Time &lhs, const Time &rhs)
static Time FromInteger(uint64_t value, enum Unit timeUnit)
Time Hours(double hours)
create ns3::Time instances in units of hours (equal to 60 minutes).
int64_t GetPicoSeconds(void) const
TimeWithUnit As(const enum Unit unit) const
Attach a unit to a Time, to facilitate output in a specific unit.
double GetDays(void) const
bool operator>(const int64x64_t &lhs, const int64x64_t &rhs)
Greater operator.
bool operator==(const EventId &a, const EventId &b)
enum Time::Unit unit
Current time unit.
Time::Unit m_unit
The unit to use in output.
bool IsStrictlyNegative(void) const
static void SetResolution(enum Unit resolution)
Ptr< const AttributeChecker > MakeTimeChecker(const Time min, const Time max)
Helper to make a Time checker with bounded range.
static void Clear(Time *const time)
Remove a Time instance from the MarkedTimes, called by ~Time()
TimeWithUnit(const Time time, const Time::Unit unit)
Attach a unit to a Time.
friend std::ostream & operator<<(std::ostream &os, const TimeWithUnit &time)
Output streamer.
std::set< Time * > MarkedTimes
Record all instances of Time, so we can rescale them when the resolution changes. ...
static MarkedTimes * g_markingTimes
Record of outstanding Time objects which will need conversion when the resolution is set...
double GetYears(void) const
Time Hours(int64x64_t hours)
static void ClearMarkedTimes()
Remove all MarkedTimes.
friend bool operator<=(const Time &lhs, const Time &rhs)
int64_t GetMilliSeconds(void) const
double GetMinutes(void) const
Time & operator=(const Time &o)
static Time From(const int64x64_t &from, enum Unit timeUnit)
int64_t m_data
Virtual time value, in the current unit.
int64x64_t & operator-=(int64x64_t &lhs, const int64x64_t &rhs)
Compound subtraction operator.
int64x64_t To(enum Unit timeUnit) const