package internal
- Alphabetic
- Public
- All
Type Members
- final class CompactTrieNode extends AnyRef
- trait Instrument extends AnyRef
- class Lazy[T] extends AnyRef
- case class Logger(f: (String) ⇒ Unit) extends Product with Serializable
- case class Msgs(value: List[Lazy[String]]) extends Product with Serializable
- final class RepImpls[T] extends AnyVal
- final class TrieNode extends AnyRef
-
class
UberBuffer extends AnyRef
A very fast circular, growable read-write byte buffer.
Value Members
- object Logger extends Serializable
-
object
MacroImpls
Fastparse relies heavily on macro-based inlining to provide good performance: inlining allows for better optimization at each callsite compared to all callsites calling into the same shared function body.
Fastparse relies heavily on macro-based inlining to provide good performance: inlining allows for better optimization at each callsite compared to all callsites calling into the same shared function body. Most of these macros do not do anything fancy and simply inline the body of a plain-old-function, although a handful do some partial evaluation e.g. optimizing the
LiteralStr
andCharIn
macros in cases where the String/Char values are known at compile time. -
object
MacroRepImpls
Implementations of the various
.rep
/.repX
overloads.Implementations of the various
.rep
/.repX
overloads. The most common and simple overloads are implemented as macros for performance, while the more complex/general cases are left as normal methods to avoid code bloat and allow the use of default/named arguments (which don't work in macros due to https://github.com/scala/bug/issues/5920).Even the normal method overloads are manually-specialized to some extent for various sorts of inputs as a best-effort attempt ot minimize branching in the hot paths.
- object Msgs extends Serializable
- object Util