pub struct ProcessCube<Log, const DIMENSIONS: usize> {
pub log: PhantomData<Log>,
}Expand description
The process cube metamodel — typed shape without execution.
§What this is
The top-level structure for the process cube: a Log type parameter
represents the kind of event log the cube is built over, and DIMENSIONS
is the count of named dimensions the cube is indexed by at this usage site.
This is structure only: holding a ProcessCube<Log, N> means you have
declared that you intend to analyze Log across N dimensions. The actual
cube computation (sub-log extraction, cell discovery, cross-cell comparison)
graduates to wasm4pm.
§What this is not
Not a runtime cube. No sub-log extraction, no model per cell, no comparison engine is present here.
§Graduate to wasm4pm
All computation on this shape graduates to wasm4pm.
§Examples
ⓘ
use wasm4pm_compat::process_cube::ProcessCube;
use core::marker::PhantomData;
struct MyLog;
let _cube: ProcessCube<MyLog, 3> = ProcessCube { log: PhantomData };Fields§
§log: PhantomData<Log>Phantom binding to the log type the cube is built over.
Implementations§
Source§impl<Log, const DIMENSIONS: usize> ProcessCube<Log, DIMENSIONS>
impl<Log, const DIMENSIONS: usize> ProcessCube<Log, DIMENSIONS>
Sourcepub const fn dimension_count(&self) -> usize
pub const fn dimension_count(&self) -> usize
Trait Implementations§
Auto Trait Implementations§
impl<Log, const DIMENSIONS: usize> Freeze for ProcessCube<Log, DIMENSIONS>
impl<Log, const DIMENSIONS: usize> RefUnwindSafe for ProcessCube<Log, DIMENSIONS>where
Log: RefUnwindSafe,
impl<Log, const DIMENSIONS: usize> Send for ProcessCube<Log, DIMENSIONS>where
Log: Send,
impl<Log, const DIMENSIONS: usize> Sync for ProcessCube<Log, DIMENSIONS>where
Log: Sync,
impl<Log, const DIMENSIONS: usize> Unpin for ProcessCube<Log, DIMENSIONS>where
Log: Unpin,
impl<Log, const DIMENSIONS: usize> UnsafeUnpin for ProcessCube<Log, DIMENSIONS>
impl<Log, const DIMENSIONS: usize> UnwindSafe for ProcessCube<Log, DIMENSIONS>where
Log: UnwindSafe,
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