Skip to main content

DepthHistory

Struct DepthHistory 

Source
pub struct DepthHistory { /* private fields */ }
Expand description

Columns of the order book of one chart, oldest first. Turn it on with Chart::set_depth_history and read it with Chart::depth_history.

use egui_charts::data::{DepthHistory, DepthHistoryConfig};

let config = DepthHistoryConfig { ticks_per_row: 4, ..Default::default() };
let history = DepthHistory::new(config).unwrap();
assert_eq!(history.columns().count(), 0);

Implementations§

Source§

impl DepthHistory

Source

pub fn new(config: DepthHistoryConfig) -> Result<Self, FeedError>

An empty history, or an error if config breaks one of its limits.

Source

pub fn config(&self) -> &DepthHistoryConfig

The configuration the history samples with.

Source

pub fn columns(&self) -> impl DoubleEndedIterator<Item = &DepthColumn>

Every column, oldest first. Consecutive columns are adjacent unless the chart lost columns.

Source

pub fn merge_page(&mut self, page: Vec<DepthColumn>) -> Result<usize, FeedError>

Merges a historical page, preserving every held column on overlap and keeping time gaps. Older columns merge to the oldest tier’s resolution, and columns that fill a gap to the resolution of the tier they join; either completes a short held column right after it. Full columns merge only when their tier overflows. Columns must use this history’s grid and sorted, unique rows, with finite non-negative sizes and at most config.rows per side. Invalid pages leave the history unchanged. A side’s largest orders, if it has any, are one per row, finite and not negative. Memory remains bounded by the configured tiers. Returns the number of input columns retained, including those merged to a coarser resolution. Columns beyond the oldest tier’s capacity are dropped and do not count.

Trait Implementations§

Source§

impl Clone for DepthHistory

Source§

fn clone(&self) -> DepthHistory

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 Debug for DepthHistory

Source§

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

Formats the value using the given formatter. Read more

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
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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.

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
Source§

impl<T> MaybeSend for T
where T: Send + Sync + ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

§

impl<T> SerializableAny for T
where T: 'static + Any + Clone + for<'a> Send + Sync,

§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

§

fn simd_from(_simd: S, value: T) -> T

§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

§

fn simd_into(self, simd: S) -> T

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.