pub enum ObjectRef<'a> {
Tree(TreeRef<'a>),
Blob(BlobRef<'a>),
Commit(CommitRef<'a>),
Tag(TagRef<'a>),
}
Expand description
Immutable objects are read-only structures referencing most data from a byte slice.
Immutable objects are expected to be deserialized from bytes that acts as backing store, and they
cannot be mutated or serialized. Instead, one will convert them into their mutable
counterparts
which support mutation and serialization.
An ObjectRef
is representing Trees
, Blobs
, Commits
, or Tags
.
Variants§
Implementations§
source§impl<'a> ObjectRef<'a>
impl<'a> ObjectRef<'a>
sourcepub fn from_loose(data: &'a [u8]) -> Result<ObjectRef<'a>, LooseDecodeError>
pub fn from_loose(data: &'a [u8]) -> Result<ObjectRef<'a>, LooseDecodeError>
Deserialize an object from a loose serialisation
sourcepub fn from_bytes(kind: Kind, data: &'a [u8]) -> Result<ObjectRef<'a>, Error>
pub fn from_bytes(kind: Kind, data: &'a [u8]) -> Result<ObjectRef<'a>, Error>
Deserialize an object of kind
from the given data
.
sourcepub fn into_owned(self) -> Object
pub fn into_owned(self) -> Object
Convert the immutable object into a mutable version, consuming the source in the process.
Note that this is an expensive operation.
Trait Implementations§
source§impl<'de: 'a, 'a> Deserialize<'de> for ObjectRef<'a>
impl<'de: 'a, 'a> Deserialize<'de> for ObjectRef<'a>
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<'a> Ord for ObjectRef<'a>
impl<'a> Ord for ObjectRef<'a>
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl<'a> PartialOrd for ObjectRef<'a>
impl<'a> PartialOrd for ObjectRef<'a>
source§impl WriteTo for ObjectRef<'_>
impl WriteTo for ObjectRef<'_>
Serialization
impl<'a> Eq for ObjectRef<'a>
impl<'a> StructuralPartialEq for ObjectRef<'a>
Auto Trait Implementations§
impl<'a> Freeze for ObjectRef<'a>
impl<'a> RefUnwindSafe for ObjectRef<'a>
impl<'a> Send for ObjectRef<'a>
impl<'a> Sync for ObjectRef<'a>
impl<'a> Unpin for ObjectRef<'a>
impl<'a> UnwindSafe for ObjectRef<'a>
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)