OMNeT++ Simulation Library
5.6.1
|
#include <cnedvalue.h>
Value used during evaluating NED expressions.
See notes below.
Measurement unit strings:
For performance reasons, the functions that store a measurement unit will only store the const char *
pointer and not copy the string itself. Consequently, the passed unit pointers must stay valid at least during the lifetime of the cNedValue object, or even longer if the same pointer propagates to other cNedValue objects. It is recommended that you only pass pointers that stay valid during the entire simulation. It is safe to use: (1) string constants from the code; (2) units strings from other cNedValues; and (3) stringpooled strings, e.g. from the getPooled() method or from cStringPool.
Public Types | |
enum | Type |
Public Member Functions | |
void | operator= (const cNedValue &other) |
Constructors | |
cNedValue () | |
cNedValue (bool b) | |
cNedValue (int l) | |
cNedValue (int l, const char *unit) | |
cNedValue (intpar_t l) | |
cNedValue (intpar_t l, const char *unit) | |
cNedValue (double d) | |
cNedValue (double d, const char *unit) | |
cNedValue (const char *s) | |
cNedValue (const std::string &s) | |
cNedValue (cXMLElement *x) | |
cNedValue (const cPar &par) | |
Setter functions. Note that overloaded assignment operators also exist. | |
void | set (bool b) |
void | set (intpar_t l, const char *unit=nullptr) |
void | set (int l, const char *unit=nullptr) |
void | set (double d, const char *unit=nullptr) |
void | setPreservingUnit (intpar_t l) |
void | setPreservingUnit (double d) |
void | setUnit (const char *unit) |
void | convertTo (const char *unit) |
void | convertToDouble () |
void | set (const char *s) |
void | set (const std::string &s) |
void | set (cXMLElement *x) |
void | set (const cPar &par) |
Getter functions. Note that overloaded conversion operators also exist. | |
bool | boolValue () const |
intpar_t | intValue () const |
_OPPDEPRECATED intpar_t | longValue () const |
intpar_t | intValueInUnit (const char *targetUnit) const |
double | doubleValue () const |
double | doubleValueInUnit (const char *targetUnit) const |
const char * | getUnit () const |
const char * | stringValue () const |
const std::string & | stdstringValue () const |
cXMLElement * | xmlValue () const |
Overloaded assignment and conversion operators. | |
cNedValue & | operator= (bool b) |
cNedValue & | operator= (char c) |
cNedValue & | operator= (unsigned char c) |
cNedValue & | operator= (short i) |
cNedValue & | operator= (unsigned short i) |
cNedValue & | operator= (int i) |
cNedValue & | operator= (unsigned int i) |
cNedValue & | operator= (long l) |
cNedValue & | operator= (unsigned long l) |
cNedValue & | operator= (long long l) |
cNedValue & | operator= (unsigned long long l) |
cNedValue & | operator= (double d) |
cNedValue & | operator= (long double d) |
cNedValue & | operator= (const char *s) |
cNedValue & | operator= (const std::string &s) |
cNedValue & | operator= (cXMLElement *node) |
cNedValue & | operator= (const cPar &par) |
operator bool () const | |
operator char () const | |
operator unsigned char () const | |
operator int () const | |
operator unsigned int () const | |
operator short () const | |
operator unsigned short () const | |
operator long () const | |
operator unsigned long () const | |
operator long long () const | |
operator unsigned long long () const | |
operator double () const | |
operator long double () const | |
operator const char * () const | |
operator std::string () const | |
operator cXMLElement * () const | |
Type, unit conversion and misc. | |
Type | getType () const |
bool | isNumeric () const |
bool | isSet () const |
std::string | str () const |
static const char * | getTypeName (Type t) |
static double | convertUnit (double d, const char *unit, const char *targetUnit) |
static double | parseQuantity (const char *str, const char *expectedUnit=nullptr) |
static double | parseQuantity (const char *str, std::string &outActualUnit) |
static const char * | getPooled (const char *s) |
void operator= | ( | const cNedValue & | other | ) |
Assignment
|
inline |
Returns the value type.
|
static |
Returns the given type as a string.
|
inline |
Returns true if the stored value is of a numeric type.
|
inline |
Returns true if the value is not empty, i.e. type is not UNDEF.
std::string str | ( | ) | const |
Returns the value in text form.
|
static |
Convert the given number into the target unit (e.g. milliwatt to watt). Throws an exception if conversion is not possible (unknown/unrelated units).
|
static |
Invokes parseQuantity(), and converts the result into the given unit. If conversion is not possible (unrelated or unknown units), and error is thrown.
|
static |
Converts a quantity given as string to a double, and returns it, together with the unit it was given in. If there are several numbers and units (see syntax), everything is converted into the last unit.
Syntax: <number> | (<number> <unit>)+
If there is a syntax error, or if unit mismatch is found (i.e. distance is given instead of time), the method throws an exception.
|
static |
Returns a copy of the string that is guaranteed to stay valid until the program exits. Multiple calls with identical strings as parameter will return the same copy. Useful for getting measurement unit strings suitable for cNedValue; see related class comment.
|
inline |
Sets the value to the given bool value.
|
inline |
Sets the value to the given integer value and measurement unit (optional). The unit string pointer is expected to stay valid during the entire duration of the simulation (see related class comment).
|
inline |
Sets the value to the given integer value and measurement unit (optional). The unit string pointer is expected to stay valid during the entire duration of the simulation (see related class comment). This is a convenience method that delegates to the intpar_t version.
|
inline |
Sets the value to the given double value and measurement unit (optional). The unit string pointer is expected to stay valid during the entire duration of the simulation (see related class comment).
|
inline |
Sets the value to the given integer value, preserving the current measurement unit. The object must already have the INT type.
|
inline |
Sets the value to the given double value, preserving the current measurement unit. The object must already have the DOUBLE type.
void setUnit | ( | const char * | unit | ) |
Sets the measurement unit to the given value, leaving the numeric part of the quantity unchanged. The object must already have the DOUBLE type. The unit string pointer is expected to stay valid during the entire duration of the simulation (see related class comment).
void convertTo | ( | const char * | unit | ) |
Permanently converts this value to the given unit. The value must already have the type DOUBLE. If the current unit cannot be converted to the given one, an error will be thrown. The unit string pointer is expected to stay valid during the entire simulation (see related class comment).
void convertToDouble | ( | ) |
If this value is of type INT, converts it into DOUBLE; has no effect if it is already a DOUBLE; and throws an error otherwise.
|
inline |
Sets the value to the given string value. The string itself will be copied. nullptr is also accepted and treated as an empty string.
|
inline |
Sets the value to the given string value.
|
inline |
Sets the value to the given cXMLElement.
|
inline |
Returns value as a boolean. The type must be BOOL.
intpar_t intValue | ( | ) | const |
Returns value as integer. The type must be INT.
|
inline |
For compatibility; delegates to intValue().
intpar_t intValueInUnit | ( | const char * | targetUnit | ) | const |
Returns the numeric value as an integer converted to the given unit. If the current unit cannot be converted to the given one, an error will be thrown. The type must be INT.
double doubleValue | ( | ) | const |
Returns value as double. The type must be DOUBLE or INT.
double doubleValueInUnit | ( | const char * | targetUnit | ) | const |
Returns the numeric value as a double converted to the given unit. If the current unit cannot be converted to the given one, an error will be thrown. The type must be DOUBLE or INT.
|
inline |
Returns the unit ("s", "mW", "Hz", "bps", etc), or nullptr if there was no unit was specified. Unit is only valid for the DOUBLE and INT types.
|
inline |
Returns value as const char *. The type must be STRING.
|
inline |
Returns value as std::string. The type must be STRING.
|
inline |
Returns value as pointer to cXMLElement. The type must be XML.
|
inline |
Converts the argument to long, and calls set(intpar_t).
|
inline |
Converts the argument to long, and calls set(intpar_t).
|
inline |
Converts the argument to long, and calls set(intpar_t).
|
inline |
Converts the argument to long, and calls set(intpar_t).
|
inline |
Converts the argument to long, and calls set(intpar_t).
|
inline |
Converts the argument to long, and calls set(intpar_t).
|
inline |
Equivalent to set(intpar_t).
|
inline |
Converts the argument to long, and calls set(intpar_t).
References omnetpp::checked_int_cast().
|
inline |
Equivalent to set(intpar_t).
References omnetpp::checked_int_cast().
|
inline |
Converts the argument to long, and calls set(intpar_t).
References omnetpp::checked_int_cast().
|
inline |
Equivalent to set(double).
|
inline |
Converts the argument to double, and calls set(double).
|
inline |
Equivalent to set(const char *).
|
inline |
Equivalent to set(const std::string&).
|
inline |
Equivalent to set(cXMLElement *).
Equivalent to set(const cPar&).
|
inline |
Equivalent to boolValue().
|
inline |
Calls intValue() and converts the result to char. An exception is thrown if the conversion would result in a data loss,
References omnetpp::checked_int_cast().
|
inline |
Calls intValue() and converts the result to unsigned char. An exception is thrown if the conversion would result in a data loss,
References omnetpp::checked_int_cast().
|
inline |
Calls intValue() and converts the result to int. An exception is thrown if the conversion would result in a data loss,
References omnetpp::checked_int_cast().
|
inline |
Calls intValue() and converts the result to unsigned int. An exception is thrown if the conversion would result in a data loss,
References omnetpp::checked_int_cast().
|
inline |
Calls intValue() and converts the result to short. An exception is thrown if the conversion would result in a data loss,
References omnetpp::checked_int_cast().
|
inline |
Calls intValue() and converts the result to unsigned short. An exception is thrown if the conversion would result in a data loss,
References omnetpp::checked_int_cast().
|
inline |
Calls intValue() and converts the result to long. An exception is thrown if the conversion would result in a data loss,
References omnetpp::checked_int_cast().
|
inline |
Calls intValue() and converts the result to unsigned long. An exception is thrown if the conversion would result in a data loss,
References omnetpp::checked_int_cast().
|
inline |
Calls intValue() and converts the result to long long. An exception is thrown if the conversion would result in a data loss,
References omnetpp::checked_int_cast().
|
inline |
Calls intValue() and converts the result to unsigned long long. An exception is thrown if the conversion would result in a data loss,
References omnetpp::checked_int_cast().
|
inline |
Equivalent to doubleValue().
|
inline |
Calls doubleValue() and converts the result to long double. Note that this is a potentially lossy operation.
|
inline |
Equivalent to stringValue().
|
inline |
Equivalent to stdstringValue().
|
inline |
Equivalent to xmlValue(). NOTE: The lifetime of the returned object tree is limited; see xmlValue() for details.