pub struct CrateData<R> { /* private fields */ }Expand description
High level interface to binary data.
Implementations§
Trait Implementations§
Source§impl<R> AbstractData for CrateData<R>
impl<R> AbstractData for CrateData<R>
Source§fn has_spec(&self, path: &Path) -> bool
fn has_spec(&self, path: &Path) -> bool
Returns
true if this data has a spec for the given path.Source§fn has_field(&self, path: &Path, field: &str) -> bool
fn has_field(&self, path: &Path, field: &str) -> bool
Returns
true if this data has a field for the given path.Source§fn spec_type(&self, path: &Path) -> Option<SpecType>
fn spec_type(&self, path: &Path) -> Option<SpecType>
Returns the type of the spec at the given path.
Source§fn try_field(
&self,
path: &Path,
field: &str,
) -> Result<Option<Cow<'_, Value>>, DataError>
fn try_field( &self, path: &Path, field: &str, ) -> Result<Option<Cow<'_, Value>>, DataError>
Returns the value for a field, or
None if not authored. Read moreSource§fn list_fields(&self, path: &Path) -> Option<Vec<String>>
fn list_fields(&self, path: &Path) -> Option<Vec<String>>
Returns the field names for a given path in authored order.
Source§fn spec_paths(&self) -> Vec<Path>
fn spec_paths(&self) -> Vec<Path>
Returns every authored path, sorted lexicographically. Read more
Source§fn create_spec(&mut self, path: Path, ty: SpecType)
fn create_spec(&mut self, path: Path, ty: SpecType)
Creates an empty spec of type
ty at path, replacing any existing
spec there. Mirrors C++ SdfAbstractData::CreateSpec. Fields are
authored separately via set_field.Source§fn erase_spec(&mut self, path: &Path)
fn erase_spec(&mut self, path: &Path)
Removes the spec at
path along with all its fields. Mirrors C++
SdfAbstractData::EraseSpec. No-op if no spec exists there.Source§fn set_field(&mut self, path: &Path, field: &str, value: Value)
fn set_field(&mut self, path: &Path, field: &str, value: Value)
Sets (or replaces)
field on the spec at path, preserving authored
field order. Mirrors C++ SdfAbstractData::Set. The spec must already
exist (create it with create_spec first); setting
a field on an absent spec drops the write (debug builds assert). Read moreSource§fn erase_field(&mut self, path: &Path, field: &str)
fn erase_field(&mut self, path: &Path, field: &str)
Removes
field from the spec at path. Mirrors C++
SdfAbstractData::EraseField. No-op if the spec or field is absent.Auto Trait Implementations§
impl<R> !Freeze for CrateData<R>
impl<R> !RefUnwindSafe for CrateData<R>
impl<R> !Sync for CrateData<R>
impl<R> Send for CrateData<R>where
R: Send,
impl<R> Unpin for CrateData<R>where
R: Unpin,
impl<R> UnsafeUnpin for CrateData<R>where
R: UnsafeUnpin,
impl<R> UnwindSafe for CrateData<R>where
R: 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