Struct winrt::HStringReference
source · pub struct HStringReference<'a>(_, _);
Expand description
A reference to either an HString
, a FastHString
, or a raw null-terminated UTF-16 buffer.
Implementations§
source§impl<'a> HStringReference<'a>
impl<'a> HStringReference<'a>
sourcepub fn from_utf16(slice: &'a [u16]) -> HStringReference<'a>
pub fn from_utf16(slice: &'a [u16]) -> HStringReference<'a>
Creates a new HStringReference
from a UTF-16 encoded slice, which must be null-terminated.
This function does not allocate and is the fastest option if you already have UTF-16 encoded
data.
Examples
Basic usage:
use winrt::HStringReference;
let sparkle_heart = vec![0xD83D, 0xDC96, 0x0];
let r = HStringReference::from_utf16(&sparkle_heart);
assert_eq!("💖", r.to_string());
sourcepub unsafe fn from_utf16_unchecked(slice: &'a [u16]) -> HStringReference<'a>
pub unsafe fn from_utf16_unchecked(slice: &'a [u16]) -> HStringReference<'a>
Creates a new HStringReference
from a UTF-16 encoded slice, which must be null-terminated.
This function is unsafe because the caller must make sure that the data really is null-terminated.
Methods from Deref<Target = HStringArg>§
Trait Implementations§
source§impl<'a> Clone for HStringReference<'a>
impl<'a> Clone for HStringReference<'a>
source§fn clone(&self) -> HStringReference<'a>
fn clone(&self) -> HStringReference<'a>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'a> Deref for HStringReference<'a>
impl<'a> Deref for HStringReference<'a>
§type Target = HStringArg
type Target = HStringArg
The resulting type after dereferencing.
source§fn deref(&self) -> &HStringArg
fn deref(&self) -> &HStringArg
Dereferences the value.
source§impl<'a> Display for HStringReference<'a>
impl<'a> Display for HStringReference<'a>
source§impl<'a> Ord for HStringReference<'a>
impl<'a> Ord for HStringReference<'a>
source§impl<'a> PartialEq<FastHString> for HStringReference<'a>
impl<'a> PartialEq<FastHString> for HStringReference<'a>
source§fn eq(&self, other: &FastHString) -> bool
fn eq(&self, other: &FastHString) -> bool
source§impl<'a> PartialEq<HString> for HStringReference<'a>
impl<'a> PartialEq<HString> for HStringReference<'a>
source§impl<'a> PartialEq<HStringReference<'a>> for FastHString
impl<'a> PartialEq<HStringReference<'a>> for FastHString
source§fn eq(&self, other: &HStringReference<'_>) -> bool
fn eq(&self, other: &HStringReference<'_>) -> bool
source§impl<'a> PartialEq<HStringReference<'a>> for HString
impl<'a> PartialEq<HStringReference<'a>> for HString
source§fn eq(&self, other: &HStringReference<'_>) -> bool
fn eq(&self, other: &HStringReference<'_>) -> bool
source§impl<'a, 'b> PartialEq<HStringReference<'a>> for HStringReference<'b>
impl<'a, 'b> PartialEq<HStringReference<'a>> for HStringReference<'b>
source§fn eq(&self, other: &HStringReference<'_>) -> bool
fn eq(&self, other: &HStringReference<'_>) -> bool
source§impl<'a> PartialOrd<HStringReference<'a>> for HStringReference<'a>
impl<'a> PartialOrd<HStringReference<'a>> for HStringReference<'a>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read more