StringChars

Struct StringChars 

Source
pub struct StringChars<'env> { /* private fields */ }
Expand description

Represents a JNI GetStringChars + GetStringLength query. It will call ReleaseStringChars automatically when dropped.

Implementations§

Source§

impl<'env> StringChars<'env>

Source

pub unsafe fn from_env_jstring(env: Env<'env>, string: jstring) -> Self

Construct a StringChars from an Env + jstring.

§Safety

The Java string object referenced by string must remain available before the created StringChars is dropped. This should be true if the JNI reference string is not deleted.

This function is supposed to be used in generated bindings.

Source

pub fn chars(&self) -> &[jchar]

Get an array of jchars. Generally UTF16, but not guaranteed to be valid UTF16.

Source

pub fn decode(&self) -> DecodeUtf16<Cloned<Iter<'_, u16>>>

std::char::decode_utf16(…)s these string characters.

Source

pub fn to_string(&self) -> Result<String, DecodeUtf16Error>

Returns a new Ok(String), or an Err(DecodeUtf16Error) if if it contained any invalid UTF16.

Source

pub fn to_string_lossy(&self) -> String

Returns a new String with any invalid UTF16 characters replaced with REPLACEMENT_CHARACTERs ('\u{FFFD}'.)

Trait Implementations§

Source§

impl<'env> Drop for StringChars<'env>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'env> Freeze for StringChars<'env>

§

impl<'env> RefUnwindSafe for StringChars<'env>

§

impl<'env> !Send for StringChars<'env>

§

impl<'env> !Sync for StringChars<'env>

§

impl<'env> Unpin for StringChars<'env>

§

impl<'env> !UnwindSafe for StringChars<'env>

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