Documentation

Lean.Data.SMap

structure Lean.SMap (α : Type u) (β : Type v) [inst : BEq α] [inst : Hashable α] :
Type (max u v)
instance Lean.SMap.instInhabitedSMap {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] :
Equations
def Lean.SMap.empty {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] :
Lean.SMap α β
Equations
@[inline]
def Lean.SMap.fromHashMap {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] (m : Std.HashMap α β) (stage₁ : optParam Bool true) :
Lean.SMap α β
Equations
@[specialize]
def Lean.SMap.insert {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] :
Lean.SMap α βαβLean.SMap α β
Equations
@[specialize]
def Lean.SMap.insert' {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] :
Lean.SMap α βαβLean.SMap α β
Equations
@[specialize]
def Lean.SMap.find? {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] :
Lean.SMap α βαOption β
Equations
@[inline]
def Lean.SMap.findD {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] (m : Lean.SMap α β) (a : α) (b₀ : β) :
β
Equations
@[inline]
def Lean.SMap.find! {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] [inst : Inhabited β] (m : Lean.SMap α β) (a : α) :
β
Equations
@[specialize]
def Lean.SMap.contains {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] :
Lean.SMap α βαBool
Equations
@[specialize]
def Lean.SMap.find?' {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] :
Lean.SMap α βαOption β
Equations
def Lean.SMap.forM {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] {m : Type u_1Type u_1} [inst : Monad m] (s : Lean.SMap α β) (f : αβm PUnit) :
Equations
def Lean.SMap.switch {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] (m : Lean.SMap α β) :
Lean.SMap α β
Equations
@[inline]
def Lean.SMap.foldStage2 {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] {σ : Type w} (f : σαβσ) (s : σ) (m : Lean.SMap α β) :
σ
Equations
def Lean.SMap.fold {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] {σ : Type w} (f : σαβσ) (init : σ) (m : Lean.SMap α β) :
σ
Equations
def Lean.SMap.size {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] (m : Lean.SMap α β) :
Equations
def Lean.SMap.stageSizes {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] (m : Lean.SMap α β) :
Equations
def Lean.SMap.numBuckets {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] (m : Lean.SMap α β) :
Equations
def Lean.SMap.toList {α : Type u} {β : Type v} [inst : BEq α] [inst : Hashable α] (m : Lean.SMap α β) :
List (α × β)
Equations
def Lean.List.toSMap {α : Type u_1} {β : Type u_2} [inst : BEq α] [inst : Hashable α] (es : List (α × β)) :
Lean.SMap α β
Equations
instance Lean.instReprSMap {α : Type u_1} {β : Type u_2} :
{x : BEq α} → {x_1 : Hashable α} → [inst : Repr α] → [inst : Repr β] → Repr (Lean.SMap α β)
Equations