Struct libpijul::Vertex [−][src]
A node in the repository graph, made of a change internal identifier, and a line identifier in that change.
Fields
change: H
The change that introduced this node.
start: ChangePosition
The line identifier of the node in that change. Here, “line” does not imply anything on the contents of the chunk.
end: ChangePosition
Implementations
impl Vertex<ChangeId>
[src]
pub const ROOT: Vertex<ChangeId>
[src]
The node at the root of the repository graph.
pub fn is_root(&self) -> bool
[src]
Is this the root key? (the root key is all 0s).
impl<H: Clone> Vertex<H>
[src]
pub fn start_pos(&self) -> Position<H>
[src]
Convenience function to get the start position of a
Vertex<ChangeId>
as a
Position
.
pub fn end_pos(&self) -> Position<H>
[src]
Convenience function to get the end position of a
Vertex<ChangeId>
as a
Position
.
pub fn is_empty(&self) -> bool
[src]
Is this vertex of zero length?
pub fn len(&self) -> usize
[src]
Length of this key, in bytes.
Trait Implementations
impl<H: Clone> Clone for Vertex<H>
[src]
impl<H: Copy> Copy for Vertex<H>
[src]
impl<T: Debug> Debug for Vertex<T>
[src]
impl<'de, H> Deserialize<'de> for Vertex<H> where
H: Deserialize<'de>,
[src]
H: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<H: Eq> Eq for Vertex<H>
[src]
impl<H: Hash> Hash for Vertex<H>
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<H: Ord> Ord for Vertex<H>
[src]
fn cmp(&self, other: &Vertex<H>) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl<H: PartialEq> PartialEq<Vertex<H>> for Vertex<H>
[src]
impl<H: PartialOrd> PartialOrd<Vertex<H>> for Vertex<H>
[src]
fn partial_cmp(&self, other: &Vertex<H>) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<H> Serialize for Vertex<H> where
H: Serialize,
[src]
H: Serialize,
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl Storable for Vertex<ChangeId>
[src]
type PageReferences = Empty<u64>
An iterator over the offsets to pages contained in this
value. Only values from this crate can generate non-empty
iterators, but combined values (like tuples) must chain the
iterators returned by method page_offsets
. Read more
fn page_references(&self) -> Self::PageReferences
[src]
fn compare<T>(&self, _: &T, b: &Self) -> Ordering
[src]
impl<H> StructuralEq for Vertex<H>
[src]
impl<H> StructuralPartialEq for Vertex<H>
[src]
impl UnsizedStorable for Vertex<ChangeId>
[src]
const ALIGN: usize
[src]
fn size(&self) -> usize
[src]
If Self::SIZE.is_some()
, this must return the same
value. The default implementation is Self;:SIZE.unwrap()
.
unsafe fn onpage_size(_: *const u8) -> usize
[src]
Read the size from an on-page entry.
unsafe fn write_to_page(&self, p: *mut u8)
[src]
Write to a page. Must not overwrite the allocated size, but this isn’t checked (which is why it’s unsafe).
unsafe fn from_raw_ptr<'a, T>(_: &T, p: *const u8) -> &'a Self
[src]
Auto Trait Implementations
impl<H> RefUnwindSafe for Vertex<H> where
H: RefUnwindSafe,
H: RefUnwindSafe,
impl<H> Send for Vertex<H> where
H: Send,
H: Send,
impl<H> Sync for Vertex<H> where
H: Sync,
H: Sync,
impl<H> Unpin for Vertex<H> where
H: Unpin,
H: Unpin,
impl<H> UnwindSafe for Vertex<H> where
H: UnwindSafe,
H: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,