Simplex

org.appliedtopology.tda4j.cells.Simplex$package.Simplex
object Simplex extends SimplexOps

object Simplex mixes in SimplexOps (SimplexOps.scala) rather than the trait's methods living as a separate top-level extension clause: extension methods declared here, in the opaque type's own companion object, are found via the receiver type's implicit scope, not via blanket top-level visibility across the package -- the fix for the same-named top-level extension collisions documented in .claude/WORKLOG-cubical.md and .claude/WORKLOG-extension-companion-objects.md. underlying moved in here for the same reason, even though nothing currently collides on that name -- keeping every Simplex[VertexT]-receiver extension routed through one place is what makes the guarantee "a future opaque type may reuse this name" actually hold.

asSimplex (below, top-level, NOT moved in here) is a real exception to that, not an oversight: its RECEIVER is SortedSet[VertexT], not Simplex[VertexT] -- companion-object-based extension lookup is keyed by the receiver type, so an extension on SortedSet[VertexT] placed inside Simplex's companion is simply never found from a SortedSet[VertexT] receiver (confirmed the hard way: moving it here broke every .asSimplex call site in this file with "value asSimplex is not a member of SortedSet[VertexT]"). It stays a top-level extension on purpose; it was never part of the collision in the first place (asSimplex/asCube don't share a name), so it doesn't need to move for that reason either.

Attributes

Experimental
true
Graph
Supertypes
trait SimplexOps
class Object
trait Matchable
class Any
Self type
Simplex.type

Members list

Value members

Concrete methods

def apply[VertexT : Ordering](vertices: VertexT*): Simplex[VertexT]
def from[VertexT : Ordering, T <: Seq[VertexT]](vertices: T): Simplex[VertexT]
def unapplySeq[VertexT : Ordering](simplex: Simplex[VertexT]): Option[Seq[VertexT]]

Extensions

Extensions

extension [VertexT](spx: Simplex[VertexT])
def underlying: SortedSet[VertexT]

Inherited extensions

extension [VertexT](spx: Simplex[VertexT])
def +(v: VertexT): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def ++(that: IterableOnce[VertexT]): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def -(v: VertexT): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def concat(that: IterableOnce[VertexT]): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def contains(elem: VertexT): Boolean

Attributes

Inherited from:
SimplexOps
def count(p: VertexT => Boolean): Int

Attributes

Inherited from:
SimplexOps
def dim: Int

Attributes

Inherited from:
SimplexOps
def drop(n: Int): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def dropIndex(n: Int): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def dropRight(n: Int): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def dropWhile(p: VertexT => Boolean): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def excl(v: VertexT): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def exists(p: VertexT => Boolean): Boolean

Attributes

Inherited from:
SimplexOps
def filter(pred: VertexT => Boolean): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def filterNot(pred: VertexT => Boolean): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def first: VertexT

Attributes

Inherited from:
SimplexOps
def firstKey: VertexT

Attributes

Inherited from:
SimplexOps
def firstOption: Option[VertexT]

Attributes

Inherited from:
SimplexOps
def flatMap[B : Ordering](f: VertexT => IterableOnce[B]): Simplex[B]

Attributes

Inherited from:
SimplexOps
def forall(p: VertexT => Boolean): Boolean

Attributes

Inherited from:
SimplexOps
def foreach(f: VertexT => Unit): Unit

Attributes

Inherited from:
SimplexOps
def head: VertexT

Attributes

Inherited from:
SimplexOps
def headOption: Option[VertexT]

Attributes

Inherited from:
SimplexOps
def incl(v: VertexT): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def isEmpty: Boolean

Attributes

Inherited from:
SimplexOps
def iterator: Iterator[VertexT]

Attributes

Inherited from:
SimplexOps
def last: VertexT

Attributes

Inherited from:
SimplexOps
def lastKey: VertexT

Attributes

Inherited from:
SimplexOps
def lastOption: Option[VertexT]

Attributes

Inherited from:
SimplexOps
def map[B : Ordering](f: VertexT => B): Simplex[B]

Attributes

Inherited from:
SimplexOps
def maxBefore(key: VertexT): Option[VertexT]

Attributes

Inherited from:
SimplexOps
def maxBy[B : Ordering](f: VertexT => B): VertexT

Attributes

Inherited from:
SimplexOps
def maxByOption[B : Ordering](f: VertexT => B): Option[VertexT]

Attributes

Inherited from:
SimplexOps
def maxOption[B >: VertexT](using ordering: Ordering[B]): Option[B]

Attributes

Inherited from:
SimplexOps
def minAfter(key: VertexT): Option[VertexT]

Attributes

Inherited from:
SimplexOps
def minBy[B : Ordering](f: VertexT => B): VertexT

Attributes

Inherited from:
SimplexOps
def minByOption[B : Ordering](f: VertexT => B): Option[VertexT]

Attributes

Inherited from:
SimplexOps
def minOption[B >: VertexT](using ordering: Ordering[B]): Option[B]

Attributes

Inherited from:
SimplexOps
def nonEmpty: Boolean

Attributes

Inherited from:
SimplexOps
def show: String

Attributes

Inherited from:
SimplexOps
def size: Int

Attributes

Inherited from:
SimplexOps
def tail: Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def tails: Iterator[Simplex[VertexT]]

Attributes

Inherited from:
SimplexOps
def take(n: Int): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def takeRight(n: Int): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def toArray[B >: VertexT : ClassTag]: Array[B]

Attributes

Inherited from:
SimplexOps
def toIndexedSeq: IndexedSeq[VertexT]

Attributes

Inherited from:
SimplexOps
def toList: List[VertexT]

Attributes

Inherited from:
SimplexOps
def toSeq: Seq[VertexT]

Attributes

Inherited from:
SimplexOps
def toSet: Set[VertexT]

Attributes

Inherited from:
SimplexOps
def toSortedSet: SortedSet[VertexT]

Attributes

Inherited from:
SimplexOps
def union(that: Simplex[VertexT]): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps
def zip[B](that: IterableOnce[B]): Set[(VertexT, B)]

Attributes

Inherited from:
SimplexOps
def zipAll[V >: VertexT, B](that: Iterable[B], thisElem: V, thatElem: B): Set[(V, B)]

Attributes

Inherited from:
SimplexOps
def zipWithIndex: Set[(VertexT, Int)]

Attributes

Inherited from:
SimplexOps
def |(that: Simplex[VertexT]): Simplex[VertexT]

Attributes

Inherited from:
SimplexOps