package api
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- api
- MarkingOps
- MultiSetOps
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Type Members
- type BiPartiteGraph[P, T, E[X] <: EdgeLikeIn[X]] = Graph[Either[P, T], E]
-
case class
HMap
[K[_], V[_]](data: Map[K[_], V[_]]) extends Iterable[(K[_], V[_])] with Product with Serializable
Simple Heterogeneous map implementation.
Simple Heterogeneous map implementation.
- data
The map backing this heterogeneous map
- final case class Id (value: Long) extends AnyVal with Product with Serializable
-
type
Identifiable[T] = (T) ⇒ Id
Type alias for something that is identifiable.
- implicit class IdentifiableOps [T] extends AnyRef
-
type
MarkedPlace[P[_], T] = (P[T], MultiSet[T])
Type alias for a single marked place, meaning a place containing tokens.
-
type
Marking[P[_]] = HMap[P, MultiSet]
Type alias for a marking.
- trait MarkingOps extends AnyRef
-
implicit
class
IterableToMarking
[P[_]] extends AnyRef
- Definition Classes
- MarkingOps
-
implicit
class
MarkingFunctions
[P[_]] extends AnyRef
Some convenience method additions to work with Markings.
Some convenience method additions to work with Markings.
- Definition Classes
- MarkingOps
-
implicit
class
MultiSetToMarking
[P[_]] extends AnyRef
- Definition Classes
- MarkingOps
-
type
MultiSet[T] = Map[T, Int]
Type alias for a multi set.
- trait MultiSetOps extends AnyRef
-
implicit
class
MultiSetFunctions
[T] extends AnyRef
- Definition Classes
- MultiSetOps
- implicit class OptionOps extends AnyRef
-
trait
PetriNet
[P, T] extends AnyRef
Petri net interface.
Petri net interface.
TODO also incorporate the edge types, P -> T and T -> P ?
- class PetriNetAnalysis [P, T] extends AnyRef
- implicit class PetriNetGraphAdditions [P, T] extends AnyRef
- implicit class PetriNetGraphNodeTAdditions [A, B] extends AnyRef
-
class
ScalaGraphPetriNet
[P, T] extends PetriNet[P, T]
TODO; can we remove this wrapper? It seems only needed because we need to mix in other traits with PetriNet which cannot be done with Graph.apply
Value Members
- implicit def extractId[T](e: T)(implicit identifiable: Identifiable[T]): Long
- implicit def placeToNode[P, T](p: P): Either[P, T]
- def requireUniqueElements[T](i: Iterable[T], name: String = "Element"): Unit
-
implicit
def
toMarkedPlace[P[_]](tuple: (P[Unit], Int)): MarkedPlace[P, Unit]
- Definition Classes
- MarkingOps
-
def
toMarking[P[_]](mset: MultiSet[P[_]]): Marking[P]
- Definition Classes
- MarkingOps
- implicit def transitionToNode[P, T](t: T): Either[P, T]
- object Marking
- object MultiSet