UAString

Struct UAString 

Source
pub struct UAString { /* private fields */ }
Expand description

To avoid naming conflict hell, the OPC UA String type is typed UAString so it does not collide with the Rust String.

A string contains UTF-8 encoded characters or a null value. A null value is distinct from being an empty string so internally, the code maintains that distinction by holding the value as an Option<String>.

Implementations§

Source§

impl UAString

Source

pub fn value(&self) -> &Option<String>

Source

pub fn set_value(&mut self, value: Option<String>)

Source

pub fn is_empty(&self) -> bool

Returns true if the string is null or empty, false otherwise

Source

pub fn len(&self) -> isize

Returns the length of the string in bytes or -1 for null.

Source

pub fn null() -> UAString

Create a null string (not the same as an empty string).

Source

pub fn is_null(&self) -> bool

Test if the string is null.

Source

pub fn substring(&self, min: usize, max: usize) -> Result<UAString, ()>

This function is meant for use with NumericRange. It creates a substring from this string from min up to and inclusive of max. Note that min must have an index within the string but max is allowed to be beyond the end in which case the remainder of the string is returned (see docs for NumericRange).

Trait Implementations§

Source§

impl AsRef<str> for UAString

Source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl BinaryEncoder<UAString> for UAString

Source§

fn byte_len(&self) -> usize

Returns the exact byte length of the structure as it would be if encode were called. This may be called prior to writing to ensure the correct amount of space is available.
Source§

fn encode<S>(&self, stream: &mut S) -> Result<usize, StatusCode>
where S: Write,

Encodes the instance to the write stream.
Source§

fn decode<S>( stream: &mut S, decoding_options: &DecodingOptions, ) -> Result<UAString, StatusCode>
where S: Read,

Decodes an instance from the read stream. The decoding options contains restrictions set by the server / client on the length of strings, arrays etc. If these limits are exceeded the implementation should return with a BadDecodingError as soon as possible.
Source§

fn encode_to_vec(&self) -> Vec<u8>

Source§

impl Clone for UAString

Source§

fn clone(&self) -> UAString

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for UAString

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for UAString

Source§

fn default() -> UAString

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for UAString

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<UAString, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for UAString

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl From<&String> for UAString

Source§

fn from(value: &String) -> UAString

Converts to this type from the input type.
Source§

impl<'a> From<&'a str> for UAString

Source§

fn from(value: &'a str) -> UAString

Converts to this type from the input type.
Source§

impl From<String> for UAString

Source§

fn from(value: String) -> UAString

Converts to this type from the input type.
Source§

impl From<UAString> for DataValue

Source§

fn from(v: UAString) -> DataValue

Converts to this type from the input type.
Source§

impl From<UAString> for Identifier

Source§

fn from(v: UAString) -> Identifier

Converts to this type from the input type.
Source§

impl From<UAString> for Variant

Source§

fn from(v: UAString) -> Variant

Converts to this type from the input type.
Source§

impl Hash for UAString

Source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<'a, 'b> PartialEq<str> for UAString

Source§

fn eq(&self, other: &str) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq for UAString

Source§

fn eq(&self, other: &UAString) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for UAString

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for UAString

Source§

impl StructuralPartialEq for UAString

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,