An E57 element encoding a single or double precision IEEE floating point number. More...
An E57 element encoding a single or double precision IEEE floating point number.
An FloatNode is a terminal node (i.e. having no children) that holds an IEEE floating point value, and minimum/maximum bounds. The precision of the floating point value and attributes may be either single or double precision. Once the FloatNode value and attributes are set at creation, they may not be modified.
If the precision option of the FloatNode is E57_SINGLE: The minimum attribute may be a number in the interval [-3.402823466e+38, 3.402823466e+38]. The maximum attribute may be a number in the interval [maximum, 3.402823466e+38]. The value may be a number in the interval [minimum, maximum].
If the precision option of the FloatNode is E57_DOUBLE: The minimum attribute may be a number in the interval [-1.7976931348623158e+308, 1.7976931348623158e+308]. The maximum attribute may be a number in the interval [maximum, 1.7976931348623158e+308]. The value may be a number in the interval [minimum, maximum].
See Node class discussion for discussion of the common functions that StructureNode supports.
A class invariant is a list of statements about an object that are always true before and after any operation on the object. An invariant is useful for testing correct operation of an implementation. Statements in an invariant can involve only externally visible state, or can refer to internal implementation-specific state that is not visible to the API user. The following C++ code checks externally visible state for consistency and throws an exception if the invariant is violated: