21 #include "ns3/core-module.h"
22 #include "ns3/length.h"
41 std::cout <<
"\nConstructors:"
42 <<
"\nLength (" << input <<
", Unit::Meter) = " <<
Length (input, Unit::Meter)
43 <<
"\nLength (" << input <<
", \"m\") = " <<
Length (input,
"m")
44 <<
"\nLength (" << input <<
", \"meter\") = " <<
Length (input,
"meter")
45 <<
"\nLength (Quantity(" << input <<
", Unit::Meter)) = " <<
Length (quantity)
46 <<
"\nLength (\"5m\") = " <<
Length (
"5m")
47 <<
"\nLength (\"5 m\") = " <<
Length (
"5 m")
48 <<
"\nLength (\"5meter\") = " <<
Length (
"5meter")
49 <<
"\nLength (\"5 meter\") = " <<
Length (
"5 meter")
50 <<
"\nLength (\"5meters\") = " <<
Length (
"5meters")
51 <<
"\nLength (\"5 meters\") = " <<
Length (
"5 meters")
58 Length moonDistance (3.84402e8, Unit::Meter);
61 std::cout <<
"\nConversions: "
62 <<
"\nDistance to moon = " << moonDistance
63 <<
"\nIn Feet: " << moonDistance.
As (Unit::Foot)
64 <<
"\nIn Miles: " << moonDistance.
As (Unit::Mile)
65 <<
"\nIn Kilometers: " << moonDistance.
As (Unit::Kilometer)
77 std::cout <<
"\nArithmetic Operations:"
78 <<
"\nAddition: " << oneMeter <<
" + " << oneMeter <<
" = "
79 << (oneMeter + oneMeter)
80 <<
"\nSubtraction: " << oneMeter <<
" - " << oneMeter <<
" = "
81 << (oneMeter - oneMeter)
82 <<
"\nMultiplication By Scalar: " << oneMeter <<
" * " << scale <<
" = "
84 <<
"\nDivision: " << oneMeter <<
" / " << twoMeter <<
" = "
85 << (oneMeter / twoMeter)
86 <<
"\nDivision By Scalar: " << oneMeter <<
" / " << scale <<
" = "
98 std::cout <<
"\nComparison Operations:" << std::boolalpha
99 <<
"\nEquality: " << oneMeter <<
" == " << oneMeter <<
" is "
100 << (oneMeter == oneMeter)
101 <<
"\nEquality: " << oneMeter <<
" == " << twoMeter <<
" is "
102 << (oneMeter == twoMeter)
103 <<
"\nInequality: " << oneMeter <<
" != " << oneMeter <<
" is "
104 << (oneMeter != oneMeter)
105 <<
"\nInequality: " << oneMeter <<
" != " << twoMeter <<
" is "
106 << (oneMeter != twoMeter)
107 <<
"\nLesser: " << oneMeter <<
" < " << oneMeter <<
" is "
108 << (oneMeter < oneMeter)
109 <<
"\nLesser: " << oneMeter <<
" < " << twoMeter <<
" is "
110 << (oneMeter < twoMeter)
111 <<
"\nLesser: " << threeMeter <<
" < " << oneMeter <<
" is "
112 << (threeMeter < oneMeter)
113 <<
"\nGreater: " << oneMeter <<
" > " << oneMeter <<
" is "
114 << (oneMeter > oneMeter)
115 <<
"\nGreater: " << oneMeter <<
" > " << twoMeter <<
" is "
116 << (oneMeter > twoMeter)
117 <<
"\nGreater: " << threeMeter <<
" > " << oneMeter <<
" is "
118 << (threeMeter > oneMeter)
129 int64_t count =
Div (totalLen, pieceLen, &remainder);
131 std::cout <<
"\nHow many times can a " << totalLen.
As (Unit::Foot) <<
" length "
132 <<
"be split into " << pieceLen.
As (Unit::Foot) <<
" sized pieces? "
134 <<
"\nremainder: " << remainder.
As (Unit::Foot)
137 std::cout <<
"\nHow much remains after splitting a "
138 << totalLen.
As (Unit::Foot) <<
" length into "
139 << pieceLen.
As (Unit::Foot) <<
" sized pieces? "
140 <<
Mod (totalLen, pieceLen).
As (Unit::Foot)
144 int main (
int argc,
char** argv)
An immutable class which represents a value in a specific length unit.
Represents a length in meters.
Quantity As(Unit unit) const
Create a Quantity in a specific unit from a Length.
Unit
Units of length in various measurement systems that are supported by the Length class.
Length Feet(double value)
This function provides a string parsing method that does not rely on istream, which has been found to...
int64_t Div(const Length &numerator, const Length &denominator, Length *remainder)
This function provides a string parsing method that does not rely on istream, which has been found to...
Length Mod(const Length &numerator, const Length &denominator)
This function provides a string parsing method that does not rely on istream, which has been found to...
Length Meters(double value)
This function provides a string parsing method that does not rely on istream, which has been found to...
void ArithmeticOperators()
Every class exported by the ns3 library is enclosed in the ns3 namespace.