123 explicit inline Time (
double v)
139 explicit inline Time (
long int v)
147 explicit inline Time (
long long int v)
155 explicit inline Time (
unsigned int v)
163 explicit inline Time (
unsigned long int v)
171 explicit inline Time (
unsigned long long int v)
199 explicit Time (
const std::string &
s);
206 return Time (std::numeric_limits<int64_t>::min ());
213 return Time (std::numeric_limits<int64_t>::max ());
435 return From (int64x64_t (value), timeUnit);
446 return To (timeUnit).GetDouble ();
453 int64x64_t retval = from;
460 retval.MulByInvert (info->
timeFrom);
462 return Time (retval);
464 inline int64x64_t
To (
enum Unit timeUnit)
const
467 int64x64_t retval = int64x64_t (
m_data);
474 retval.MulByInvert (info->
timeTo);
478 inline operator int64x64_t ()
const
480 return int64x64_t (
m_data);
482 explicit inline Time (
const int64x64_t &value)
483 :
m_data (value.GetHigh ())
528 const bool convert =
true);
586 static void Mark (
Time *
const time);
675 inline Time
Abs (
const Time &time)
677 return Time ((time.m_data < 0) ? -time.m_data : time.m_data);
686 inline Time
Max (
const Time &ta,
const Time &tb)
688 return Time ((ta.m_data < tb.m_data) ? tb : ta);
707 std::ostream&
operator<< (std::ostream& os,
const Time & time);
714 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
keep track of time values and allow control of global simulation resolution
#define ATTRIBUTE_VALUE_DEFINE(type)
smart pointer class similar to boost::intrusive_ptr
bool IsPositive(void) const
int64x64_t Abs(const int64x64_t &value)
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)
static Time Min()
Minimum representable Time.
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)
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)
bool operator>(const Time &lhs, const Time &rhs)
static Time From(const int64x64_t &value)
Time Years(double years)
create ns3::Time instances in units of years (equal to 365 days).
bool operator<(const Room &a, const Room &b)
int64_t GetFemtoSeconds(void) const
Time NanoSeconds(int64x64_t ns)
Time(unsigned long int v)
Time FemtoSeconds(uint64_t fs)
create ns3::Time instances in units of femtoseconds.
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)
friend Time operator+(const Time &lhs, const Time &rhs)
static Time Max()
Maximum representable Time.
friend Time Abs(const Time &time)
double GetSeconds(void) const
Time & operator+=(Time &lhs, const Time &rhs)
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.
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)
Time operator+(const Time &lhs, const Time &rhs)
int64x64_t Min(const int64x64_t &a, const int64x64_t &b)
ATTRIBUTE_ACCESSOR_DEFINE(Boolean)
static struct Resolution SetDefaultNsResolution(void)
int64x64_t Max(const int64x64_t &a, const int64x64_t &b)
bool operator<=(const Time &lhs, const Time &rhs)
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output
Time & operator-=(Time &lhs, const Time &rhs)
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)
bool operator>=(const Time &lhs, const Time &rhs)
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
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
Time operator-(const Time &lhs, const Time &rhs)
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
double GetDays(void) const
bool operator==(const EventId &a, const EventId &b)
enum Time::Unit unit
Current time unit.
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()
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 To(enum Unit timeUnit) const