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>

Get the inner raw value.

Source

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

Set the inner value.

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, OutOfRange>

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 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

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

impl Default for UAString

Source§

fn default() -> Self

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

impl Display for UAString

Source§

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

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

impl From<&String> for UAString

Source§

fn from(value: &String) -> Self

Converts to this type from the input type.
Source§

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

Source§

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

Converts to this type from the input type.
Source§

impl From<Option<String>> for UAString

Source§

fn from(value: Option<String>) -> Self

Converts to this type from the input type.
Source§

impl From<String> for UAString

Source§

fn from(value: String) -> Self

Converts to this type from the input type.
Source§

impl From<UAString> for DataValue

Source§

fn from(v: UAString) -> Self

Converts to this type from the input type.
Source§

impl From<UAString> for Identifier

Source§

fn from(v: UAString) -> Self

Converts to this type from the input type.
Source§

impl From<UAString> for NodeId

Source§

fn from(value: UAString) -> Self

Converts to this type from the input type.
Source§

impl From<UAString> for String

Source§

fn from(value: UAString) -> Self

Converts to this type from the input type.
Source§

impl From<UAString> for XmlElement

Source§

fn from(value: UAString) -> Self

Converts to this type from the input type.
Source§

impl Hash for UAString

Source§

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

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 IntoVariant for UAString

Source§

fn into_variant(self) -> Variant

Convert self into a variant.
Source§

impl JsonDecodable for UAString

Source§

fn decode( stream: &mut JsonStreamReader<&mut dyn Read>, _ctx: &Context<'_>, ) -> EncodingResult<Self>

Decode Self from a JSON stream.
Source§

impl JsonEncodable for UAString

Source§

fn encode( &self, stream: &mut JsonStreamWriter<&mut dyn Write>, _ctx: &Context<'_>, ) -> EncodingResult<()>

Write the type to the provided JSON writer.
Source§

impl 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 SimpleBinaryDecodable for UAString

Source§

fn decode<S: Read + ?Sized>( stream: &mut S, decoding_options: &DecodingOptions, ) -> EncodingResult<Self>

Decode Self from the byte stream.
Source§

impl SimpleBinaryEncodable for UAString

Source§

fn byte_len(&self) -> usize

This may be called prior to writing to ensure the correct amount of space is available.
Source§

fn encode<S: Write + ?Sized>(&self, stream: &mut S) -> EncodingResult<()>

Encodes the instance to the write stream.
Source§

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

Convenience method for encoding a message straight into an array of bytes. It is preferable to reuse buffers than to call this so it should be reserved for tests and trivial code.
Source§

impl TryFromVariant for UAString

Source§

fn try_from_variant(v: Variant) -> Result<Self, Error>

Try to cast the given variant to this type.
Source§

impl UaNullable for UAString

Source§

fn is_ua_null(&self) -> bool

Return true if this value is null, meaning it can be left out when being encoded in JSON and XML encodings.
Source§

impl VariantType for UAString

Source§

fn variant_type_id() -> VariantScalarTypeId

The variant kind this type will be represented as.
Source§

impl XmlDecodable for UAString

Source§

fn decode( read: &mut XmlStreamReader<&mut dyn Read>, _context: &Context<'_>, ) -> Result<Self, Error>

Decode a value from an XML stream.
Source§

impl XmlEncodable for UAString

Source§

fn encode( &self, writer: &mut XmlStreamWriter<&mut dyn Write>, _ctx: &Context<'_>, ) -> Result<(), Error>

Encode a value to an XML stream.
Source§

impl XmlType for UAString

Source§

const TAG: &'static str = "String"

The static fallback tag for this type. Convenience feature, but also used in nested types.
Source§

fn tag(&self) -> &str

The XML tag name for this type.
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> BinaryDecodable for T

Source§

fn decode<S>(stream: &mut S, ctx: &Context<'_>) -> Result<T, Error>
where S: Read + ?Sized,

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§

impl<T> BinaryEncodable for T

Source§

fn byte_len(&self, _ctx: &Context<'_>) -> 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, _ctx: &Context<'_>) -> Result<(), Error>
where S: Write + ?Sized,

Encodes the instance to the write stream.
Source§

fn encode_to_vec(&self, ctx: &Context<'_>) -> Vec<u8>

Convenience method for encoding a message straight into an array of bytes. It is preferable to reuse buffers than to call this so it should be reserved for tests and trivial code.
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> EventField for T
where T: IntoVariant + Clone,

Source§

fn get_value( &self, attribute_id: AttributeId, index_range: &NumericRange, remaining_path: &[QualifiedName], ) -> Variant

Get the variant representation of this field, using the given index range. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more