Cost

data class Cost<C : CostMonoid<C>>(features: PersistentMap<CostFeature, C>) : CostMonoid<Cost<C>> , Map<CostFeature, C> , PrettyPrintable

The cost of executing a piece of code or sending a message. Consists of a map of features over some cost monoid.

Constructors

Cost
Link copied to clipboard
fun <C : CostMonoid<C>> Cost(features: PersistentMap<CostFeature, C>)

Functions

concat
Link copied to clipboard
open override fun concat(other: Cost<C>): Cost<C>
containsKey
Link copied to clipboard
open override fun containsKey(key: CostFeature): Boolean
containsValue
Link copied to clipboard
open override fun containsValue(value: C): Boolean
featureMap
Link copied to clipboard
fun <D : CostMonoid<D>> featureMap(f: (CostFeature, C) -> D): Cost<D>
forEach
Link copied to clipboard
open fun forEach(p0: BiConsumer<in CostFeature, in C>)
get
Link copied to clipboard
open operator override fun get(key: CostFeature): C?
getOrDefault
Link copied to clipboard
open fun getOrDefault(key: CostFeature, defaultValue: C): C
isEmpty
Link copied to clipboard
open override fun isEmpty(): Boolean
map
Link copied to clipboard
fun <D : CostMonoid<D>> map(f: (C) -> D): Cost<D>
toDocument
Link copied to clipboard
open override fun toDocument(): Document
update
Link copied to clipboard
fun update(feature: CostFeature, cost: C): Cost<C>
zero
Link copied to clipboard
open override fun zero(): Cost<C>

Properties

entries
Link copied to clipboard
open override val entries: Set<Map.Entry<CostFeature, C>>
features
Link copied to clipboard
val features: PersistentMap<CostFeature, C>
keys
Link copied to clipboard
open override val keys: Set<CostFeature>
size
Link copied to clipboard
open override val size: Int
values
Link copied to clipboard
open override val values: Collection<C>