Skip to content

Mark

Mojo struct 🡭

Mark

@memory_only
struct Mark

A mark’s runtime identity: its value, and its name, which the constant states itself so no table maps one to the other (#854).

Aliases

  • POINT = Mark(Int(0), StringSpan("POINT"))
  • LINE = Mark(Int(1), StringSpan("LINE"))
  • BAR = Mark(Int(2), StringSpan("BAR"))
  • AREA = Mark(Int(3), StringSpan("AREA"))
  • ARC = Mark(Int(4), StringSpan("ARC"))
  • LOLLIPOP = Mark(Int(5), StringSpan("LOLLIPOP"))
  • WATERFALL = Mark(Int(6), StringSpan("WATERFALL"))
  • BOX = Mark(Int(7), StringSpan("BOX"))
  • CANDLESTICK = Mark(Int(8), StringSpan("CANDLESTICK"))
  • BULLET = Mark(Int(9), StringSpan("BULLET"))
  • GANTT = Mark(Int(10), StringSpan("GANTT"))
  • GROUPED_BAR = Mark(Int(11), StringSpan("GROUPED_BAR"))
  • STACKED_BAR = Mark(Int(12), StringSpan("STACKED_BAR"))
  • POPULATION_PYRAMID = Mark(Int(13), StringSpan("POPULATION_PYRAMID"))
  • HEATMAP = Mark(Int(14), StringSpan("HEATMAP"))
  • CHORD = Mark(Int(15), StringSpan("CHORD"))
  • SINGLE_AXIS = Mark(Int(16), StringSpan("SINGLE_AXIS"))
  • EFFECT_SCATTER = Mark(Int(17), StringSpan("EFFECT_SCATTER"))
  • FUNNEL = Mark(Int(18), StringSpan("FUNNEL"))
  • BUMP = Mark(Int(19), StringSpan("BUMP"))
  • STREAMGRAPH = Mark(Int(20), StringSpan("STREAMGRAPH"))
  • BEESWARM = Mark(Int(21), StringSpan("BEESWARM"))
  • VIOLIN = Mark(Int(22), StringSpan("VIOLIN"))
  • RIDGELINE = Mark(Int(23), StringSpan("RIDGELINE"))
  • NIGHTINGALE = Mark(Int(24), StringSpan("NIGHTINGALE"))
  • POLAR_BAR = Mark(Int(25), StringSpan("POLAR_BAR"))
  • POLAR = Mark(Int(26), StringSpan("POLAR"))
  • RADAR = Mark(Int(27), StringSpan("RADAR"))
  • GAUGE = Mark(Int(28), StringSpan("GAUGE"))
  • PARALLEL = Mark(Int(29), StringSpan("PARALLEL"))
  • SPAN_CHART = Mark(Int(30), StringSpan("SPAN_CHART"))
  • CALENDAR_HEATMAP = Mark(Int(31), StringSpan("CALENDAR_HEATMAP"))
  • CORRPLOT = Mark(Int(32), StringSpan("CORRPLOT"))
  • PUNCHCARD = Mark(Int(33), StringSpan("PUNCHCARD"))
  • MARIMEKKO = Mark(Int(34), StringSpan("MARIMEKKO"))
  • SUNBURST = Mark(Int(35), StringSpan("SUNBURST"))
  • TREE = Mark(Int(36), StringSpan("TREE"))
  • TREEMAP = Mark(Int(37), StringSpan("TREEMAP"))
  • ARC_DIAGRAM = Mark(Int(38), StringSpan("ARC_DIAGRAM"))
  • GRAPH = Mark(Int(39), StringSpan("GRAPH"))
  • SANKEY = Mark(Int(40), StringSpan("SANKEY"))
  • RADIALBAR = Mark(Int(41), StringSpan("RADIALBAR"))
  • BARBS = Mark(Int(42), StringSpan("BARBS"))
  • CONTOUR = Mark(Int(43), StringSpan("CONTOUR"))
  • CONTOURF = Mark(Int(44), StringSpan("CONTOURF"))
  • TRICONTOUR = Mark(Int(45), StringSpan("TRICONTOUR"))
  • TRICONTOURF = Mark(Int(46), StringSpan("TRICONTOURF"))
  • KDE = Mark(Int(47), StringSpan("KDE"))
  • RUG = Mark(Int(48), StringSpan("RUG"))
  • TRIPLOT = Mark(Int(49), StringSpan("TRIPLOT"))
  • TRIPCOLOR = Mark(Int(50), StringSpan("TRIPCOLOR"))
  • ECDF = Mark(Int(51), StringSpan("ECDF"))
  • IMSHOW = Mark(Int(52), StringSpan("IMSHOW"))
  • PCOLORMESH = Mark(Int(53), StringSpan("PCOLORMESH"))
  • EVENTPLOT = Mark(Int(54), StringSpan("EVENTPLOT"))
  • POINTPLOT = Mark(Int(55), StringSpan("POINTPLOT"))
  • BOXENPLOT = Mark(Int(56), StringSpan("BOXENPLOT"))
  • HIST2D = Mark(Int(57), StringSpan("HIST2D"))
  • HEXBIN = Mark(Int(58), StringSpan("HEXBIN"))
  • QUIVER = Mark(Int(59), StringSpan("QUIVER"))
  • HISTOGRAM = Mark(Int(60), StringSpan("HISTOGRAM"))
  • STREAMPLOT = Mark(Int(61), StringSpan("STREAMPLOT"))
  • DENDROGRAM = Mark(Int(62), StringSpan("DENDROGRAM"))
  • SCATTER3D = Mark(Int(63), StringSpan("SCATTER3D"))
  • PLOT3D = Mark(Int(64), StringSpan("PLOT3D"))
  • SURFACE3D = Mark(Int(65), StringSpan("SURFACE3D"))
  • WIRE3D = Mark(Int(66), StringSpan("WIRE3D"))
  • TRISURF3D = Mark(Int(67), StringSpan("TRISURF3D"))
  • BAR3D = Mark(Int(68), StringSpan("BAR3D"))
  • VOXELS = Mark(Int(69), StringSpan("VOXELS"))
  • STEM3D = Mark(Int(70), StringSpan("STEM3D"))
  • QUIVER3D = Mark(Int(71), StringSpan("QUIVER3D"))
  • FILL_BETWEEN3D = Mark(Int(72), StringSpan("FILL_BETWEEN3D"))
  • COUNT = 73: How many marks exist – one past the largest value above. The sweeps walk _every_mark() (tests/_mark_registry.mojo), a list of the constants above, and require a representative dataset for each, so a mark in the list without one fails loudly instead of silently going untested.

COUNT is the second record that makes a mark left out of that list visible: test_every_mark_is_listed_once_in_value_order fails unless the list holds exactly COUNT marks, valued 0 to COUNT - 1 in order. Raise it in the same edit that adds a mark above – #634 was a mark past COUNT that every sweep skipped.

Implemented traits

AnyType, Copyable, Deinitable, ImplicitlyCopyable, Movable

Methods

__init__

fn def __init__(out self, value: Int, name: StringSpan[ImmStaticOrigin])

For the constants above, which state both halves; there is no Mark(n) to build an unnamed mark from a bare number.

Args:

  • value (Int): The mark’s value, 0 to COUNT - 1.
  • name (StringSpan[ImmStaticOrigin]): The constant’s own name, without the Mark. prefix.
  • self (Self)

Returns:

Self

__eq__

fn def __eq__(self, other: Self) -> Bool

Args:

  • self (Self)
  • other (Self)

Returns:

Bool

name

fn def name(self) -> String

Return the qualified constant name used in error messages: Mark.POINT for Mark.POINT.

Args:

  • self (Self)

Returns:

String