pub enum NumericRange {
None,
Index(u32),
Range(u32, u32),
MultipleRanges(Vec<NumericRange>),
}Expand description
Numeric range describes a range within an array. See OPCUA Part 4 7.22
This parameter is defined in Table 159. A formal BNF definition of the numeric range can be found in Clause A.3.
The syntax for the string contains one of the following two constructs. The first construct is
the string representation of an individual integer. For example, 6 is valid, but 6,0 and
3,2 are not. The minimum and maximum values that can be expressed are defined by the use
of this parameter and not by this parameter type definition. The second construct is a range
represented by two integers separated by the colon (:) character. The first integer shall
always have a lower value than the second. For example, 5:7 is valid, while 7:5 and 5:5
are not. The minimum and maximum values that can be expressed by these integers are defined by
the use of this parameter, and not by this parameter type definition. No other characters,
including white-space characters, are permitted.
Multi-dimensional arrays can be indexed by specifying a range for each dimension separated by
a ,. For example, a 2x2 block in a 4x4 matrix could be selected with the range 1:2,0:1.
A single element in a multi-dimensional array can be selected by specifying a single number
instead of a range. For example, 1,1 specifies selects the [1,1] element in a two dimensional
array.
Dimensions are specified in the order that they appear in the ArrayDimensions Attribute. All dimensions shall be specified for a NumericRange to be valid.
All indexes start with 0. The maximum value for any index is one less than the length of the
dimension.
Variants§
None
None
Index(u32)
A single index
Range(u32, u32)
A range of indices
MultipleRanges(Vec<NumericRange>)
Multiple ranges contains any mix of Index, Range values - a multiple range containing multiple ranges is invalid
Implementations§
Source§impl NumericRange
impl NumericRange
Trait Implementations§
Source§impl Clone for NumericRange
impl Clone for NumericRange
Source§fn clone(&self) -> NumericRange
fn clone(&self) -> NumericRange
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NumericRange
impl Debug for NumericRange
Source§impl Default for NumericRange
impl Default for NumericRange
Source§fn default() -> NumericRange
fn default() -> NumericRange
Source§impl Display for NumericRange
impl Display for NumericRange
Source§impl EventField for NumericRange
impl EventField for NumericRange
Source§fn get_value(
&self,
attribute_id: AttributeId,
index_range: &NumericRange,
remaining_path: &[QualifiedName],
) -> Variant
fn get_value( &self, attribute_id: AttributeId, index_range: &NumericRange, remaining_path: &[QualifiedName], ) -> Variant
Source§impl FromStr for NumericRange
impl FromStr for NumericRange
Source§impl JsonDecodable for NumericRange
Available on crate feature json only.
impl JsonDecodable for NumericRange
json only.Source§fn decode(
stream: &mut JsonStreamReader<&mut dyn Read>,
ctx: &Context<'_>,
) -> EncodingResult<Self>
fn decode( stream: &mut JsonStreamReader<&mut dyn Read>, ctx: &Context<'_>, ) -> EncodingResult<Self>
Source§impl JsonEncodable for NumericRange
Available on crate feature json only.
impl JsonEncodable for NumericRange
json only.Source§fn encode(
&self,
stream: &mut JsonStreamWriter<&mut dyn Write>,
ctx: &Context<'_>,
) -> EncodingResult<()>
fn encode( &self, stream: &mut JsonStreamWriter<&mut dyn Write>, ctx: &Context<'_>, ) -> EncodingResult<()>
Source§impl PartialEq for NumericRange
impl PartialEq for NumericRange
Source§impl SimpleBinaryDecodable for NumericRange
impl SimpleBinaryDecodable for NumericRange
Source§fn decode<S: Read + ?Sized>(
stream: &mut S,
decoding_options: &DecodingOptions,
) -> EncodingResult<Self>
fn decode<S: Read + ?Sized>( stream: &mut S, decoding_options: &DecodingOptions, ) -> EncodingResult<Self>
Source§impl SimpleBinaryEncodable for NumericRange
impl SimpleBinaryEncodable for NumericRange
Source§impl UaNullable for NumericRange
impl UaNullable for NumericRange
Source§fn is_ua_null(&self) -> bool
fn is_ua_null(&self) -> bool
Source§impl XmlDecodable for NumericRange
Available on crate feature xml only.
impl XmlDecodable for NumericRange
xml only.Source§fn decode(
stream: &mut XmlStreamReader<&mut dyn Read>,
ctx: &Context<'_>,
) -> EncodingResult<Self>
fn decode( stream: &mut XmlStreamReader<&mut dyn Read>, ctx: &Context<'_>, ) -> EncodingResult<Self>
Source§impl XmlEncodable for NumericRange
Available on crate feature xml only.
impl XmlEncodable for NumericRange
xml only.Source§fn encode(
&self,
stream: &mut XmlStreamWriter<&mut dyn Write>,
ctx: &Context<'_>,
) -> EncodingResult<()>
fn encode( &self, stream: &mut XmlStreamWriter<&mut dyn Write>, ctx: &Context<'_>, ) -> EncodingResult<()>
Source§impl XmlType for NumericRange
Available on crate feature xml only.
impl XmlType for NumericRange
xml only.impl StructuralPartialEq for NumericRange
Auto Trait Implementations§
impl Freeze for NumericRange
impl RefUnwindSafe for NumericRange
impl Send for NumericRange
impl Sync for NumericRange
impl Unpin for NumericRange
impl UnwindSafe for NumericRange
Blanket Implementations§
Source§impl<T> BinaryDecodable for Twhere
T: SimpleBinaryDecodable,
impl<T> BinaryDecodable for Twhere
T: SimpleBinaryDecodable,
Source§fn decode<S>(stream: &mut S, ctx: &Context<'_>) -> Result<T, Error>
fn decode<S>(stream: &mut S, ctx: &Context<'_>) -> Result<T, Error>
BadDecodingError as soon as possible.Source§impl<T> BinaryEncodable for Twhere
T: SimpleBinaryEncodable,
impl<T> BinaryEncodable for Twhere
T: SimpleBinaryEncodable,
Source§fn byte_len(&self, _ctx: &Context<'_>) -> usize
fn byte_len(&self, _ctx: &Context<'_>) -> usize
encode were called.
This may be called prior to writing to ensure the correct amount of space is available.