[−][src]Struct lv2rs_atom::frame::NestedFrame
A writing frame managing nested atoms.
Unlike the RootFrame
, which really manages memory, this frame only
forwards writing calls to the next frame in the hierarchy and updates the atom header
accordingly. Additionally, this frame will assure for padding when dropped. These padding bytes
will not be included in the top level header, only in the surrounding ones.
Nested frames can only be created with the
create_nested_frame
method.
Trait Implementations
impl<'a, 'b, A: ?Sized> WritingFrame<'b> for NestedFrame<'a, 'b, A> where
A: AtomBody,
[src]
A: AtomBody,
unsafe fn write_raw(&mut self, data: &[u8]) -> Result<&'b mut [u8], ()>
[src]
fn get_atom(&self) -> &Atom
[src]
impl<'a, 'b, A: AtomBody + ?Sized> WritingFrameExt<'b, A> for NestedFrame<'a, 'b, A>
[src]
unsafe fn write_sized<T: Sized>(&mut self, object: &T) -> Result<&'a mut T, ()>
[src]
Try to write a sized object into the atom space. Read more
unsafe fn create_nested_frame<'b, C: AtomBody + ?Sized>(
&'b mut self,
urids: &mut CachedMap
) -> Result<NestedFrame<'b, 'a, C>, ()>
[src]
&'b mut self,
urids: &mut CachedMap
) -> Result<NestedFrame<'b, 'a, C>, ()>
Create a new atom header and return a nested writing frame for it. Read more
unsafe fn get_atom_body<'b>(
&'b self,
urids: &mut CachedMap
) -> Result<&'b A, GetBodyError>
[src]
&'b self,
urids: &mut CachedMap
) -> Result<&'b A, GetBodyError>
Try to get a reference to the body from our atom header. Read more
impl<'a, 'b, A: ?Sized> Drop for NestedFrame<'a, 'b, A> where
A: AtomBody,
[src]
A: AtomBody,
Auto Trait Implementations
impl<'a, 'b, A> !Send for NestedFrame<'a, 'b, A>
impl<'a, 'b, A> !Sync for NestedFrame<'a, 'b, A>
Blanket Implementations
impl<'a, W> LiteralWritingFrame for W where
W: WritingFrame<'a> + WritingFrameExt<'a, ArrayAtomBody<LiteralHeader, u8>>,
[src]
W: WritingFrame<'a> + WritingFrameExt<'a, ArrayAtomBody<LiteralHeader, u8>>,
fn append_string(&mut self, string: &str) -> Result<(), ()>
[src]
Append a string to the literal. Read more
impl<'a, W> ObjectWritingFrame for W where
W: WritingFrame<'a> + WritingFrameExt<'a, ArrayAtomBody<ObjectHeader, u8>>,
[src]
W: WritingFrame<'a> + WritingFrameExt<'a, ArrayAtomBody<ObjectHeader, u8>>,
fn push_property<'b, A: AtomBody + ?Sized>(
&'b mut self,
key: URID,
context: URID,
parameter: &A::InitializationParameter,
urids: &mut CachedMap
) -> Result<NestedFrame<'b, 'a, A>, ()>
[src]
&'b mut self,
key: URID,
context: URID,
parameter: &A::InitializationParameter,
urids: &mut CachedMap
) -> Result<NestedFrame<'b, 'a, A>, ()>
Add a property to the object. Read more
impl<'a, W> SequenceWritingFrame for W where
W: WritingFrame<'a> + WritingFrameExt<'a, ArrayAtomBody<SequenceHeader, u8>>,
[src]
W: WritingFrame<'a> + WritingFrameExt<'a, ArrayAtomBody<SequenceHeader, u8>>,
fn push_event<'b, A: AtomBody + ?Sized>(
&'b mut self,
time: TimeStamp,
parameter: &A::InitializationParameter,
urids: &mut CachedMap
) -> Result<NestedFrame<'b, 'a, A>, ()>
[src]
&'b mut self,
time: TimeStamp,
parameter: &A::InitializationParameter,
urids: &mut CachedMap
) -> Result<NestedFrame<'b, 'a, A>, ()>
impl<'a, W> TupleWritingFrame for W where
W: WritingFrame<'a> + WritingFrameExt<'a, ArrayAtomBody<(), u8>>,
[src]
W: WritingFrame<'a> + WritingFrameExt<'a, ArrayAtomBody<(), u8>>,
fn push_atom<'b, A: AtomBody + ?Sized>(
&'b mut self,
parameter: &A::InitializationParameter,
urids: &mut CachedMap
) -> Result<NestedFrame<'b, 'a, A>, ()>
[src]
&'b mut self,
parameter: &A::InitializationParameter,
urids: &mut CachedMap
) -> Result<NestedFrame<'b, 'a, A>, ()>
Add a new atom to the tuple. Read more
impl<'a, T, F> VectorWritingFrame for F where
F: WritingFrame<'a> + WritingFrameExt<'a, ArrayAtomBody<VectorHeader, T>>,
T: 'static + AtomBody + Copy,
[src]
F: WritingFrame<'a> + WritingFrameExt<'a, ArrayAtomBody<VectorHeader, T>>,
T: 'static + AtomBody + Copy,
fn push(&mut self, value: T) -> Result<(), ()>
[src]
Push a value to the end of the vector.
fn append(&mut self, slice: &[T]) -> Result<(), ()>
[src]
Append a slice of values to the end of the vector.
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,