Attributes
- Companion
- trait
- Source
- SegmentCodec.scala
- Graph
-
- Supertypes
- Self type
-
SegmentCodec.type
Members list
Type members
Classlikes
Attributes
- Source
- SegmentCodec.scala
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait SegmentCodec[Boolean]class Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- trait
- Source
- SegmentCodec.scala
- Supertypes
- Self type
-
CombinePathVars.type
Compile-time evidence combining two PathVars markers into their logical OR, driving PVC inference for ~ (and, transitively, PathCodec.++ and /). The four precise instances cover every concrete pair; the low-priority fallback maps anything unknown (an unrefined codec type, whose marker is abstract) to HasPathVars - always sound (capturing is the safe over-approximation: orElse may reject a harmless unrefined codec, but it can never accept a capturing one through this path).
Compile-time evidence combining two PathVars markers into their logical OR, driving PVC inference for ~ (and, transitively, PathCodec.++ and /). The four precise instances cover every concrete pair; the low-priority fallback maps anything unknown (an unrefined codec type, whose marker is abstract) to HasPathVars - always sound (capturing is the safe over-approximation: orElse may reject a harmless unrefined codec, but it can never accept a capturing one through this path).
Attributes
- Companion
- object
- Source
- SegmentCodec.scala
- Supertypes
Attributes
- Source
- SegmentCodec.scala
- Supertypes
- Known subtypes
-
object CombinePathVars
Attributes
- Source
- SegmentCodec.scala
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait SegmentCodec[C]class Objecttrait Matchableclass AnyShow all
Attributes
- Source
- SegmentCodec.scala
- Supertypes
-
trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait SegmentCodec[Unit]class Objecttrait Matchableclass AnyShow all
- Self type
-
Empty.type
Phantom marker for segments that capture a value (bool, int, long, string, UUID, trailing, and any composition containing one of those). Never instantiated - exists purely as a PathVars tag with zero runtime footprint.
Phantom marker for segments that capture a value (bool, int, long, string, UUID, trailing, and any composition containing one of those). Never instantiated - exists purely as a PathVars tag with zero runtime footprint.
Attributes
- Source
- SegmentCodec.scala
- Supertypes
Attributes
- Source
- SegmentCodec.scala
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait SegmentCodec[Int]class Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- trait
- Source
- SegmentCodec.scala
- Supertypes
- Self type
-
Key.type
Attributes
- Companion
- trait
- Source
- SegmentCodec.scala
- Supertypes
- Self type
-
Kind.type
Attributes
- Source
- SegmentCodec.scala
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait SegmentCodec[Unit]class Objecttrait Matchableclass AnyShow all
Attributes
- Source
- SegmentCodec.scala
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait SegmentCodec[Long]class Objecttrait Matchableclass AnyShow all
Phantom marker for segments that capture nothing (Empty, Literal). Never instantiated - exists purely as a PathVars tag with zero runtime footprint.
Phantom marker for segments that capture nothing (Empty, Literal). Never instantiated - exists purely as a PathVars tag with zero runtime footprint.
Attributes
- Source
- SegmentCodec.scala
- Supertypes
Attributes
- Source
- SegmentCodec.scala
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait SegmentCodec[String]class Objecttrait Matchableclass AnyShow all
Attributes
- Source
- SegmentCodec.scala
- Supertypes
-
trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait SegmentCodec[Path]class Objecttrait Matchableclass AnyShow all
- Self type
-
Trailing.type
Attributes
- Source
- SegmentCodec.scala
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait SegmentCodec[UUID]class Objecttrait Matchableclass AnyShow all
Inherited and Abstract types
The names of the product elements.
The name of the type.
Value members
Concrete methods
Attributes
- Source
- SegmentCodec.scala
Value-carrying counterpart to matchesComplete: the full-length survivors of decodeCombined(codec, segment, 0) (candidates whose end equals segment.length), longest split first. StringSeg materializes one substring per surviving split only — the decoded String value IS a substring, so that allocation is the result, not a parse intermediate. Used by PathCodecRuntime.decodeSegment for Combined segments.
Value-carrying counterpart to matchesComplete: the full-length survivors of decodeCombined(codec, segment, 0) (candidates whose end equals segment.length), longest split first. StringSeg materializes one substring per surviving split only — the decoded String value IS a substring, so that allocation is the result, not a parse intermediate. Used by PathCodecRuntime.decodeSegment for Combined segments.
Attributes
- Source
- SegmentCodec.scala
Attributes
- Source
- SegmentCodec.scala
Attributes
- Source
- SegmentCodec.scala
Returns how many segments codec consumes at index (-1 for no match).
Returns how many segments codec consumes at index (-1 for no match).
This is the boolean fast path for routing: Literal is a single ==, IntSeg/LongSeg allocation-free ASCII window scans (isIntWindow/isLongWindow), UUIDSeg a hand-rolled shape check (no exceptions thrown), and Combined goes through the exhaustive-split matchesWindow below. Candidate lists are never built here (unlike decodeCombined), so per-request trie lookups pay no per-candidate tuple or substring-enumeration cost. The subsequent handler decode re-parses the matched segment once — that match-then-decode double parse is accepted deliberately (decode happens once per matched request, while matches runs per dynamic branch).
Attributes
- Source
- SegmentCodec.scala
Boolean counterpart to decodeComplete: does codec match segment exactly? Never builds candidate lists and never allocates — StringSeg is a constant-time accept, numerics validate each candidate window with the allocation-free ASCII scanners (no substring), UUIDSeg is validated index-by-index without exceptions, and Combined enumerates candidate split points with the same accept/reject predicate decodeCombined uses — so matches and decode agree structurally (one existential, one constructive, over the same split language). Used by matches and PathCodecRuntime.matchesCodec.
Boolean counterpart to decodeComplete: does codec match segment exactly? Never builds candidate lists and never allocates — StringSeg is a constant-time accept, numerics validate each candidate window with the allocation-free ASCII scanners (no substring), UUIDSeg is validated index-by-index without exceptions, and Combined enumerates candidate split points with the same accept/reject predicate decodeCombined uses — so matches and decode agree structurally (one existential, one constructive, over the same split language). Used by matches and PathCodecRuntime.matchesCodec.
Attributes
- Source
- SegmentCodec.scala
Attributes
- Source
- SegmentCodec.scala
Inherited methods
Attributes
- Inherited from:
- SegmentCodecPlatformSpecific (hidden)
- Source
- SegmentCodecPlatformSpecific.scala
Attributes
- Inherited from:
- SegmentCodecPlatformSpecific (hidden)
- Source
- SegmentCodecPlatformSpecific.scala
Attributes
- Inherited from:
- SegmentCodecPlatformSpecific (hidden)
- Source
- SegmentCodecPlatformSpecific.scala
Attributes
- Inherited from:
- SegmentCodecPlatformSpecific (hidden)
- Source
- SegmentCodecPlatformSpecific.scala
Attributes
- Inherited from:
- SegmentCodecPlatformSpecific (hidden)
- Source
- SegmentCodecPlatformSpecific.scala
Attributes
- Inherited from:
- SegmentCodecPlatformSpecific (hidden)
- Source
- SegmentCodecPlatformSpecific.scala