Skip to main content

ClockSpan

Struct ClockSpan 

Source
pub struct ClockSpan {
    pub line: u32,
    pub outline: Vec<String>,
    pub day: i64,
    pub minutes: u32,
}
Expand description

OA.14b: a file’s clocked time, reported beside its rows. OA.14b: time clocked on one headline on one day.

Independent of [entry] on purpose — see scan’s doc. A span is reported for every clocked headline the guest saw, whether or not that headline became an agenda row.

Aggregated per (headline, day) by the guest, not one span per CLOCK: line. A headline clocked four times in a morning is one span, which is the granularity every report actually renders and keeps a file with years of history from crossing thousands of records it would only sum again.

Every span the file has, not just the ones in view. The report’s range is the agenda’s span — day, week, month or year — and the host filters on day when it builds the table. Carrying them all is what lets gD switch that range and redraw from data already in hand instead of re-walking the corpus for each answer.

Fields§

§line: u32

0-based line of the HEADLINE the time was logged under (not of the CLOCK: line), so a report row can locate its entry.

§outline: Vec<String>

The headline’s outline path: outermost ancestor first, the headline itself last. Its length is the outline level, which is what emacs’s :maxlevel bounds.

A PATH rather than a name plus a level, because the report is a hierarchy and totals roll up it. An ancestor that logged no time of its own emits no span, so the host cannot name it from the span list — carrying the chain is what lets the tree be rebuilt without inventing zero-minute rows for every parent.

§day: i64

Days since the Unix epoch that the clocked time is filed under.

A span crossing midnight is counted whole on the day it began rather than split. Emacs splits it; matching that is a refinement this record can carry later without changing shape.

§minutes: u32

Minutes clocked. A running (unclosed) clock contributes nothing — its duration is not yet a fact, and guessing one would make the report disagree with the file.

Trait Implementations§

Source§

impl Clone for ClockSpan

Source§

fn clone(&self) -> ClockSpan

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl ComponentType for ClockSpan

Source§

impl Debug for ClockSpan

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Lift for ClockSpan

Source§

impl Lower for ClockSpan

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Pointer = u32

§

fn debug( pointer: <T as Pointee>::Pointer, f: &mut Formatter<'_>, ) -> Result<(), Error>

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more