kumulant

materialize

fun <R : Result> SeriesStatSpec<R>.materialize(concurrency: Concurrency = Concurrency.None): SeriesStat<R>(source)

Construct a live SeriesStat from a SeriesStatSpec. One when per modality, one cast at the boundary - sealed-hierarchy exhaustiveness keeps the cast safe.

The wrapper-spec branches narrow the wrapped inner spec to the expected modality at runtime; on mismatch they raise the same IllegalArgumentException the previous per-spec materialize overrides did.


fun <R : Result> PairedStatSpec<R>.materialize(concurrency: Concurrency = Concurrency.None): PairedStat<R>(source)

Construct a live PairedStat from a PairedStatSpec. See SeriesStatSpec.materialize.


fun <R : Result> VectorStatSpec<R>.materialize(concurrency: Concurrency = Concurrency.None): VectorStat<R>(source)

Construct a live VectorStat from a VectorStatSpec. See SeriesStatSpec.materialize.


fun <R : Result> DiscreteStatSpec<R>.materialize(concurrency: Concurrency = Concurrency.None): DiscreteStat<R>(source)

Construct a live DiscreteStat from a DiscreteStatSpec. See SeriesStatSpec.materialize.


fun StatSpec.materialize(concurrency: Concurrency = Concurrency.None): Stat<*>(source)

Construct a live stat from any StatSpec, dispatching on its modality. Useful for code paths (like StatSchemaDef.materialize) that iterate over an erased Map<String, StatSpec> and don't statically know the modality.


fun <R : Result> RegressionStatSpec<R>.materialize(concurrency: Concurrency = Concurrency.None): RegressionStat<R>(source)

Construct a live RegressionStat from a RegressionStatSpec. See SeriesStatSpec.materialize.


fun StatSchemaDef.materialize(concurrency: Concurrency = Concurrency.None): List<BoundStat<*, *, *>>(source)

Materialize every entry, regardless of modality. Caller filters by stat type.