ArgSig

object ArgSig
Companion:
class
trait Sum
trait Mirror
class Object
trait Matchable
class Any
ArgSig.type

Type members

Classlikes

case class Class[T, B](reader: ClassMains[T]) extends ArgSig[T, B]
case class Flag[B](name: Option[String], shortName: Option[Char], doc: Option[String]) extends Named[Flag, B]
case class Leftover[T, B](name0: String, doc: Option[String], reader: TokensReader[T]) extends Terminal[T, B]
sealed trait Named[T, B] extends Terminal[T, B]
case class Simple[T, B](name: Option[String], shortName: Option[Char], doc: Option[String], default: Option[B => T], reader: TokensReader[T], positional: Boolean) extends Named[T, B]

Models what is known by the router about a single argument: that it has a name, a human-readable typeString describing what the type is (just for logging and reading, not a replacement for a TypeTag) and possible a function that can compute its default value

Models what is known by the router about a single argument: that it has a name, a human-readable typeString describing what the type is (just for logging and reading, not a replacement for a TypeTag) and possible a function that can compute its default value

sealed trait Terminal[T, B] extends ArgSig[T, B]

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from:
Mirror

Value members

Concrete methods

def create[T, B](name0: String, arg: arg, defaultOpt: Option[B => T])(implicit argParser: ArgReader[T]): ArgSig[T, B]
def createVararg[T, B](name0: String, arg: arg)(implicit argParser: Leftover[T]): Leftover[T, B]
def flatten[T, B](x: ArgSig[T, B]): Seq[Terminal[T, B]]