Documentation

Std.Data.RBMap

inductive Std.Rbcolor :
Type
inductive Std.RBNode (α : Type u) (β : α → Type v) :
Type (max u v)
def Std.RBNode.depth {α : Type u} {β : α → Type v} (f : Nat → Nat → Nat) :
Std.RBNode α β → Nat
Equations
def Std.RBNode.min {α : Type u} {β : α → Type v} :
Std.RBNode α β → Option ((k : α) × β k)
Equations
def Std.RBNode.max {α : Type u} {β : α → Type v} :
Std.RBNode α β → Option ((k : α) × β k)
Equations
@[specialize]
def Std.RBNode.fold {α : Type u} {β : α → Type v} {σ : Type w} (f : σ → (k : α) → β k → σ) (init : σ) :
Std.RBNode α β → σ
Equations
@[specialize]
def Std.RBNode.forM {α : Type u} {β : α → Type v} {m : Type → Type u_1} [inst : Monad m] (f : (k : α) → β k → m Unit) :
Std.RBNode α β → m Unit
Equations
@[specialize]
def Std.RBNode.foldM {α : Type u} {β : α → Type v} {σ : Type w} {m : Type w → Type u_1} [inst : Monad m] (f : σ → (k : α) → β k → m σ) (init : σ) :
Std.RBNode α β → m σ
Equations
@[inline]
def Std.RBNode.forIn {α : Type u} {β : α → Type v} {σ : Type w} {m : Type w → Type u_1} [inst : Monad m] (as : Std.RBNode α β) (init : σ) (f : (k : α) → β k → σ → m (ForInStep σ)) :
m σ
Equations
@[specialize]
def Std.RBNode.forIn.visit {α : Type u} {β : α → Type v} {σ : Type w} {m : Type w → Type u_1} [inst : Monad m] (f : (k : α) → β k → σ → m (ForInStep σ)) :
Std.RBNode α β → σ → m (ForInStep σ)
Equations
@[specialize]
def Std.RBNode.revFold {α : Type u} {β : α → Type v} {σ : Type w} (f : σ → (k : α) → β k → σ) (init : σ) :
Std.RBNode α β → σ
Equations
@[specialize]
def Std.RBNode.all {α : Type u} {β : α → Type v} (p : (k : α) → β k → Bool) :
Std.RBNode α β → Bool
Equations
@[specialize]
def Std.RBNode.any {α : Type u} {β : α → Type v} (p : (k : α) → β k → Bool) :
Std.RBNode α β → Bool
Equations
def Std.RBNode.singleton {α : Type u} {β : α → Type v} (k : α) (v : β k) :
Equations
@[inline]
def Std.RBNode.balance1 {α : Type u} {β : α → Type v} (a : α) :
β a → Std.RBNode α β → Std.RBNode α β → Std.RBNode α β
Equations
@[inline]
def Std.RBNode.balance2 {α : Type u} {β : α → Type v} :
(a : Std.RBNode α β) → (a : α) → β a → Std.RBNode α β → Std.RBNode α β
Equations
def Std.RBNode.isRed {α : Type u} {β : α → Type v} :
Std.RBNode α β → Bool
Equations
def Std.RBNode.isBlack {α : Type u} {β : α → Type v} :
Std.RBNode α β → Bool
Equations
@[specialize]
def Std.RBNode.ins {α : Type u} {β : α → Type v} (cmp : α → α → Ordering) :
Std.RBNode α β → (k : α) → β k → Std.RBNode α β
Equations
def Std.RBNode.setBlack {α : Type u} {β : α → Type v} :
Std.RBNode α β → Std.RBNode α β
Equations
@[specialize]
def Std.RBNode.insert {α : Type u} {β : α → Type v} (cmp : α → α → Ordering) (t : Std.RBNode α β) (k : α) (v : β k) :
Equations
def Std.RBNode.setRed {α : Type u} {β : α → Type v} :
Std.RBNode α β → Std.RBNode α β
Equations
def Std.RBNode.balLeft {α : Type u} {β : α → Type v} :
Std.RBNode α β → (k : α) → β k → Std.RBNode α β → Std.RBNode α β
Equations
def Std.RBNode.balRight {α : Type u} {β : α → Type v} (l : Std.RBNode α β) (k : α) (v : β k) (r : Std.RBNode α β) :
Equations
partial def Std.RBNode.appendTrees {α : Type u} {β : α → Type v} :
Std.RBNode α β → Std.RBNode α β → Std.RBNode α β
@[specialize]
def Std.RBNode.del {α : Type u} {β : α → Type v} (cmp : α → α → Ordering) (x : α) :
Std.RBNode α β → Std.RBNode α β
Equations
@[specialize]
def Std.RBNode.erase {α : Type u} {β : α → Type v} (cmp : α → α → Ordering) (x : α) (t : Std.RBNode α β) :
Equations
@[specialize]
def Std.RBNode.findCore {α : Type u} {β : α → Type v} (cmp : α → α → Ordering) :
Std.RBNode α β → (k : α) → Option ((k : α) × β k)
Equations
@[specialize]
def Std.RBNode.find {α : Type u} (cmp : α → α → Ordering) {β : Type v} :
(Std.RBNode α fun x => β) → α → Option β
Equations
@[specialize]
def Std.RBNode.lowerBound {α : Type u} {β : α → Type v} (cmp : α → α → Ordering) :
Std.RBNode α β → α → Option (Sigma β) → Option (Sigma β)
Equations
inductive Std.RBNode.WellFormed {α : Type u} {β : α → Type v} (cmp : α → α → Ordering) :
Std.RBNode α β → Prop
noncomputable def Std.RBMap (α : Type u) (β : Type v) (cmp : α → α → Ordering) :
Type (max u v)
Equations
@[inline]
def Std.mkRBMap (α : Type u) (β : Type v) (cmp : α → α → Ordering) :
Std.RBMap α β cmp
Equations
@[inline]
def Std.RBMap.empty {α : Type u} {β : Type v} {cmp : α → α → Ordering} :
Std.RBMap α β cmp
Equations
instance Std.instEmptyCollectionRBMap (α : Type u) (β : Type v) (cmp : α → α → Ordering) :
Equations
def Std.RBMap.depth {α : Type u} {β : Type v} {cmp : α → α → Ordering} (f : Nat → Nat → Nat) (t : Std.RBMap α β cmp) :
Equations
@[inline]
def Std.RBMap.fold {α : Type u} {β : Type v} {σ : Type w} {cmp : α → α → Ordering} (f : σ → α → β → σ) (init : σ) :
Std.RBMap α β cmp → σ
Equations
@[inline]
def Std.RBMap.revFold {α : Type u} {β : Type v} {σ : Type w} {cmp : α → α → Ordering} (f : σ → α → β → σ) (init : σ) :
Std.RBMap α β cmp → σ
Equations
@[inline]
def Std.RBMap.foldM {α : Type u} {β : Type v} {σ : Type w} {cmp : α → α → Ordering} {m : Type w → Type u_1} [inst : Monad m] (f : σ → α → β → m σ) (init : σ) :
Std.RBMap α β cmp → m σ
Equations
@[inline]
def Std.RBMap.forM {α : Type u} {β : Type v} {cmp : α → α → Ordering} {m : Type u_1 → Type u_2} [inst : Monad m] (f : α → β → m PUnit) (t : Std.RBMap α β cmp) :
Equations
@[inline]
def Std.RBMap.forIn {α : Type u} {β : Type v} {σ : Type w} {cmp : α → α → Ordering} {m : Type w → Type u_1} [inst : Monad m] (t : Std.RBMap α β cmp) (init : σ) (f : α × β → σ → m (ForInStep σ)) :
m σ
Equations
instance Std.RBMap.instForInRBMapProd {α : Type u} {β : Type v} {cmp : α → α → Ordering} {m : Type u_1 → Type u_2} :
ForIn m (Std.RBMap α β cmp) (α × β)
Equations
  • Std.RBMap.instForInRBMapProd = { forIn := fun {β} [Monad m] => Std.RBMap.forIn }
@[inline]
def Std.RBMap.isEmpty {α : Type u} {β : Type v} {cmp : α → α → Ordering} :
Std.RBMap α β cmp → Bool
Equations
@[specialize]
def Std.RBMap.toList {α : Type u} {β : Type v} {cmp : α → α → Ordering} :
Std.RBMap α β cmp → List (α × β)
Equations
@[inline]
def Std.RBMap.min {α : Type u} {β : Type v} {cmp : α → α → Ordering} :
Std.RBMap α β cmp → Option (α × β)
Equations
@[inline]
def Std.RBMap.max {α : Type u} {β : Type v} {cmp : α → α → Ordering} :
Std.RBMap α β cmp → Option (α × β)
Equations
instance Std.RBMap.instReprRBMap {α : Type u} {β : Type v} {cmp : α → α → Ordering} [inst : Repr α] [inst : Repr β] :
Repr (Std.RBMap α β cmp)
Equations
@[inline]
def Std.RBMap.insert {α : Type u} {β : Type v} {cmp : α → α → Ordering} :
Std.RBMap α β cmp → α → β → Std.RBMap α β cmp
Equations
@[inline]
def Std.RBMap.erase {α : Type u} {β : Type v} {cmp : α → α → Ordering} :
Std.RBMap α β cmp → α → Std.RBMap α β cmp
Equations
@[specialize]
def Std.RBMap.ofList {α : Type u} {β : Type v} {cmp : α → α → Ordering} :
List (α × β) → Std.RBMap α β cmp
Equations
@[inline]
def Std.RBMap.findCore? {α : Type u} {β : Type v} {cmp : α → α → Ordering} :
Std.RBMap α β cmp → α → Option ((_ : α) × β)
Equations
@[inline]
def Std.RBMap.find? {α : Type u} {β : Type v} {cmp : α → α → Ordering} :
Std.RBMap α β cmp → α → Option β
Equations
@[inline]
def Std.RBMap.findD {α : Type u} {β : Type v} {cmp : α → α → Ordering} (t : Std.RBMap α β cmp) (k : α) (v₀ : β) :
β
Equations
@[inline]
def Std.RBMap.lowerBound {α : Type u} {β : Type v} {cmp : α → α → Ordering} :
Std.RBMap α β cmp → α → Option ((_ : α) × β)
Equations
@[inline]
def Std.RBMap.contains {α : Type u} {β : Type v} {cmp : α → α → Ordering} (t : Std.RBMap α β cmp) (a : α) :
Equations
@[inline]
def Std.RBMap.fromList {α : Type u} {β : Type v} (l : List (α × β)) (cmp : α → α → Ordering) :
Std.RBMap α β cmp
Equations
@[inline]
def Std.RBMap.all {α : Type u} {β : Type v} {cmp : α → α → Ordering} :
Std.RBMap α β cmp → (α → β → Bool) → Bool
Equations
@[inline]
def Std.RBMap.any {α : Type u} {β : Type v} {cmp : α → α → Ordering} :
Std.RBMap α β cmp → (α → β → Bool) → Bool
Equations
def Std.RBMap.size {α : Type u} {β : Type v} {cmp : α → α → Ordering} (m : Std.RBMap α β cmp) :
Equations
def Std.RBMap.maxDepth {α : Type u} {β : Type v} {cmp : α → α → Ordering} (t : Std.RBMap α β cmp) :
Equations
@[inline]
def Std.RBMap.min! {α : Type u} {β : Type v} {cmp : α → α → Ordering} [inst : Inhabited α] [inst : Inhabited β] (t : Std.RBMap α β cmp) :
α × β
Equations
@[inline]
def Std.RBMap.max! {α : Type u} {β : Type v} {cmp : α → α → Ordering} [inst : Inhabited α] [inst : Inhabited β] (t : Std.RBMap α β cmp) :
α × β
Equations
@[inline]
def Std.RBMap.find! {α : Type u} {β : Type v} {cmp : α → α → Ordering} [inst : Inhabited β] (t : Std.RBMap α β cmp) (k : α) :
β
Equations
def Std.rbmapOf {α : Type u} {β : Type v} (l : List (α × β)) (cmp : α → α → Ordering) :
Std.RBMap α β cmp
Equations