[−][src]Enum opcua_types::numeric_range::NumericRange
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
Index(u32)
A single index
A range of indices
MultipleRanges(Vec<NumericRange>)
Multiple ranges contains any mix of Index, Range values - a multiple range containing multiple ranges is invalid
Methods
impl NumericRange
[src]
pub fn new<T>(s: T) -> Result<Self, ()> where
T: Into<String>,
[src]
T: Into<String>,
pub fn as_string(&self) -> String
[src]
pub fn is_valid(&self) -> bool
[src]
Tests if the range is basically valid, i.e. that the min < max, that multiple ranges doesn't point to multiple ranges
pub fn is_valid_for_array(&self, array: &Variant) -> bool
[src]
Trait Implementations
impl Clone for NumericRange
[src]
fn clone(&self) -> NumericRange
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl PartialEq<NumericRange> for NumericRange
[src]
fn eq(&self, other: &NumericRange) -> bool
[src]
fn ne(&self, other: &NumericRange) -> bool
[src]
impl Debug for NumericRange
[src]
impl FromStr for NumericRange
[src]
type Err = ()
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Self, Self::Err>
[src]
impl StructuralPartialEq for NumericRange
[src]
Auto Trait Implementations
impl Send for NumericRange
impl Sync for NumericRange
impl Unpin for NumericRange
impl UnwindSafe for NumericRange
impl RefUnwindSafe for NumericRange
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,