Enum git_object::ObjectRef
source · 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
Tree(TreeRef<'a>)
Blob(BlobRef<'a>)
Commit(CommitRef<'a>)
Tag(TagRef<'a>)
Implementations
sourceimpl<'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
sourceimpl<'de: 'a, 'a> Deserialize<'de> for ObjectRef<'a>
impl<'de: 'a, 'a> Deserialize<'de> for ObjectRef<'a>
sourcefn 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
sourceimpl<'a> Ord for ObjectRef<'a>
impl<'a> Ord for ObjectRef<'a>
1.21.0 · sourcefn 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
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl<'a> PartialEq<ObjectRef<'a>> for ObjectRef<'a>
impl<'a> PartialEq<ObjectRef<'a>> for ObjectRef<'a>
sourceimpl<'a> PartialOrd<ObjectRef<'a>> for ObjectRef<'a>
impl<'a> PartialOrd<ObjectRef<'a>> for ObjectRef<'a>
sourcefn partial_cmp(&self, other: &ObjectRef<'a>) -> Option<Ordering>
fn partial_cmp(&self, other: &ObjectRef<'a>) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresourceimpl<'a> WriteTo for ObjectRef<'a>
impl<'a> WriteTo for ObjectRef<'a>
Serialization
impl<'a> Eq for ObjectRef<'a>
impl<'a> StructuralEq for ObjectRef<'a>
impl<'a> StructuralPartialEq for ObjectRef<'a>
Auto Trait Implementations
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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more