pub struct SparseRefRaw<S> { /* private fields */ }Expand description
§A raw dynamic ref
SparseRefRaw will render the pointed value.
It uses a SparseState to render itself in order to limit the IO calls at a minimum. It will deserialize into the desired type at creation.
If the SparseStateFile used to render the object changes, SparseRefRaw will deserialize it again in order to always be up to date.
Implementations§
Source§impl<S> SparseRefRaw<S>
impl<S> SparseRefRaw<S>
Sourcepub fn val(&self) -> &SparsePointedValue<S>
pub fn val(&self) -> &SparsePointedValue<S>
The inner value
Sourcepub fn raw_pointer(&self) -> &String
pub fn raw_pointer(&self) -> &String
The raw JSON pointer, as it is deserialized
Source§impl<S> SparseRefRaw<S>
impl<S> SparseRefRaw<S>
Sourcepub fn base_path_mut(&mut self) -> &mut PathBuf
pub fn base_path_mut(&mut self) -> &mut PathBuf
The path of the file in which originates this pointer, if any
Source§impl<S> SparseRefRaw<S>
impl<S> SparseRefRaw<S>
Trait Implementations§
Source§impl<S: Clone> Clone for SparseRefRaw<S>
impl<S: Clone> Clone for SparseRefRaw<S>
Source§fn clone(&self) -> SparseRefRaw<S>
fn clone(&self) -> SparseRefRaw<S>
Returns a duplicate 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<S: Debug> Debug for SparseRefRaw<S>
impl<S: Debug> Debug for SparseRefRaw<S>
Source§impl<'de, S> Deserialize<'de> for SparseRefRaw<S>
impl<'de, S> Deserialize<'de> for SparseRefRaw<S>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<S: PartialEq> PartialEq for SparseRefRaw<S>
impl<S: PartialEq> PartialEq for SparseRefRaw<S>
Source§impl<S> Serialize for SparseRefRaw<S>
impl<S> Serialize for SparseRefRaw<S>
Source§impl<S> Sparsable for SparseRefRaw<S>
impl<S> Sparsable for SparseRefRaw<S>
Source§fn sparse_init<'a>(
&mut self,
state: &mut SparseState,
metadata: &SparseMetadata,
depth: u32,
) -> Result<(), SparseError>
fn sparse_init<'a>( &mut self, state: &mut SparseState, metadata: &SparseMetadata, depth: u32, ) -> Result<(), SparseError>
Initialize recusively a Sparsable pointer
Source§fn sparse_updt<'a>(
&mut self,
state: &mut SparseState,
metadata: &SparseMetadata,
depth: u32,
) -> Result<(), SparseError>
fn sparse_updt<'a>( &mut self, state: &mut SparseState, metadata: &SparseMetadata, depth: u32, ) -> Result<(), SparseError>
Update recusively a Sparsable pointer
Source§fn check_depth(&self, depth: u32) -> Result<(), SparseError>
fn check_depth(&self, depth: u32) -> Result<(), SparseError>
Check if the current depth isn’t too much.
This is the cyclic pointer protection mechanism
Source§impl<S> SparsePointerRaw<S> for SparseRefRaw<S>
impl<S> SparsePointerRaw<S> for SparseRefRaw<S>
Source§fn check_version(&self, state: &SparseState) -> Result<(), SparseError>
fn check_version(&self, state: &SparseState) -> Result<(), SparseError>
Check that the inner version doesn’t mismatch with the SparseState
Source§fn get<'a>(
&'a self,
metadata: Option<&'a SparseMetadata>,
) -> Result<SparseValue<'a, S>, SparseError>
fn get<'a>( &'a self, metadata: Option<&'a SparseMetadata>, ) -> Result<SparseValue<'a, S>, SparseError>
Get the inner value, deserializing the pointed value
Source§fn get_mut<'a>(
&'a mut self,
state_cell: Rc<RefCell<SparseState>>,
metadata: Option<&'a SparseMetadata>,
) -> Result<SparseValueMut<'a, S>, SparseError>
fn get_mut<'a>( &'a mut self, state_cell: Rc<RefCell<SparseState>>, metadata: Option<&'a SparseMetadata>, ) -> Result<SparseValueMut<'a, S>, SparseError>
Get the inner value of the pointer (mutable)
Source§fn self_reset<'a>(
&mut self,
state: &mut SparseState,
metadata: &SparseMetadata,
depth: u32,
) -> Result<(), SparseError>
fn self_reset<'a>( &mut self, state: &mut SparseState, metadata: &SparseMetadata, depth: u32, ) -> Result<(), SparseError>
Reset the inner value and parse it again from the state
impl<S> StructuralPartialEq for SparseRefRaw<S>
Auto Trait Implementations§
impl<S> Freeze for SparseRefRaw<S>where
S: Freeze,
impl<S> RefUnwindSafe for SparseRefRaw<S>where
S: RefUnwindSafe,
impl<S> Send for SparseRefRaw<S>where
S: Send,
impl<S> Sync for SparseRefRaw<S>where
S: Sync,
impl<S> Unpin for SparseRefRaw<S>where
S: Unpin,
impl<S> UnwindSafe for SparseRefRaw<S>where
S: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more