Struct BytesDataMap

Source
pub struct BytesDataMap<U: Ui>(/* private fields */);
Expand description

An RwData wrapper which only gives access to the Bytes of a File

Implementations§

Source§

impl<U: Ui> BytesDataMap<U>

Source

pub fn read<Ret>(&self, pa: &Pass, f: impl FnOnce(&Bytes) -> Ret) -> Ret

Reads the Bytes of the File’s Text

If you are looking at this method from the context of Reader::apply_changes, you probably actually want to use BytesDataMap::write_with_reader, since it is far more compatible with that usecase.

§Panics

Panics if there is a mutable borrow of this struct somewhere, which could happen if you use RwData::write_unsafe or RwData::write_unsafe_as

Source

pub fn write_with_reader<Ret, Rd: Reader<U>>( &self, pa: &mut Pass, rd: &RwData<Rd>, f: impl FnOnce(&mut Bytes, &mut Rd) -> Ret, ) -> Ret

Reads the Bytes of a File, alongside a Reader

This can be very convenient when you want access to these two things at once, and is completely safe, since File doesn’t implement Reader, the other RwData will never be RwData<File>, so a double borrow could never happen.

§Panics

Panics if there is are any borrows of either struct elsewhere, which could happen if you use RwData::write_unsafe or RwData::write_unsafe_as

Source

pub fn has_changed(&self) -> bool

Wether someone else called write or write_as since the last read or write

Do note that this DOES NOT mean that the value inside has actually been changed, it just means a mutable reference was acquired after the last call to has_changed.

Generally though, you can use this method to gauge that.

Trait Implementations§

Source§

impl<U: Clone + Ui> Clone for BytesDataMap<U>

Source§

fn clone(&self) -> BytesDataMap<U>

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

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

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl<U> Freeze for BytesDataMap<U>

§

impl<U> !RefUnwindSafe for BytesDataMap<U>

§

impl<U> !Send for BytesDataMap<U>

§

impl<U> !Sync for BytesDataMap<U>

§

impl<U> Unpin for BytesDataMap<U>

§

impl<U> !UnwindSafe for BytesDataMap<U>

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