FE 0.13.1
Header-only C++ frontend library
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
 Nfe
  NcliA small command-line parser for a single command - no subcommands
   CGroupStarts a new section in the help output; see fe::cli::group
   COptOne option or positional argument; build one with fe::cli::opt, fe::cli::arg, or fe::cli::help
   CCliHolds the Opts, parses argc/argv, and renders the help
  Nlct
   CNodeThis is an intrusive Link-Cut-Tree
  Nsys
   CCmdNotFoundThrown by sys::require_cmd when a command cannot be located on the system
  Nutf8UTF-8 helpers for decoding byte streams, encoding char32_t values, and running ASCII-style character classification on char32_t
   CChar32Wrapper for char32_t with an operator<< that writes UTF-8
  CArenaAn arena pre-allocates so-called pages of size Arena::page_size_
   CMemoryResourceA memory resource bridge in order to use this Arena for pmr containers
   CAllocatorAn allocator in order to use this Arena for containers
   CDeleter
  Cbasic_ostream_formatterMake types that support ostream operators available for std::format
  CBitsetA dynamically growing set of bits with small storage optimization
   CreferenceProxy that Bitset::operator[] hands out to read/write the bit it refers to
   CiteratorIterates over the indices of all set bits in ascending order
   CHash
  CCodeDiagThe Diag a Driver installs by default: colors a `citation` and drops its backticks - or keeps them verbatim without color; \` is a literal backtick
  CDbgThe debug info of an entity: where it came from and what it was called
   CHash
   CEq
  CDbgKeyOpaque handle to a Dbg interned in a Driver; see Driver::dbg
  CDiagHow a diagnostic lays out - and how much of it an Error keeps
  CDriverUse/derive from this class for "global" variables that you need all over the place
  CErrorCollects diagnostics and hands each to the Diag that lays it out
   CBailWhat Error::ack and Error::bail throw
   CNoteA secondary message elaborating a Msg
   CMsgOne Tag::Error or Tag::Warn together with the Notes that belong to it
  Cis_bit_enum
  CJoinJoin elements of range with sep
  CLexerThe blueprint for a lexer with a buffer of K tokens to peek into the future (Lexer::ahead)
   CAheadA decoded code point together with the byte range it occupies
  CLocLocation within a Src: the half-open byte range [Loc::begin, Loc::end)
  CLogFacility to log what you are doing
   CFmtLocA std::format_string that remembers where it was written
  CParserThe blueprint for a recursive descent/ ascent parser using a K lookahead of Tokens
   CTracker
   CAnchorRAII helper that anchors a Tag for its lifetime; use Parser::anchor to build one
  CPathHashHashes a std::filesystem::path - consistent with its operator==, which compares lexically
  CPosByte offset into a Src; pass around as value
  CProfilerRecords wall-clock timings for (possibly nested) named Profiler::Spans and reports them in various formats
   CSpanA single run
  CRestoreRAII guard that restores a value at the end of the scope
  CRestore< T, nullptr, nullptr >Restores ref to its current value at the end of the scope
  CRingA ring buffer with N elements
  CRing< T, 1 >Specialization if N == 1 - doesn't need a ring
  CRing< T, 2 >Specialization if N == 2; doesn't need a ring, we just copy
  CRuntimeCastInherit from this class using CRTP, for some nice dynamic_cast-style wrappers
  CSnippetThe underlined source excerpt that goes below a diagnostic
  CSpanThis is a thin wrapper for std::span<T, N> with the following additional features:
  CSrcThe content of one source file together with the offsets its rows start at
  CSrcMapInterns the text - and the std::filesystem::path - of every file a Loc may point into
  CStreamFnWrap a callable f(std::ostream&) -> std::ostream& so it streams via operator<< and std::format
  CSymA Symbol just wraps a pointer to Sym::String, so pass Sym itself around as value
   CString
    CEqual
    CHash
   CHash
   CEq
  CSymPoolHash set where all strings - wrapped in Symbol - live in
  CTabKeeps track of indentation level during output
  CVectorThis is a thin wrapper for absl::InlinedVector<T, N, A> which is a drop-in replacement for std::vector<T, A>
  CWorklistA worklist that pushes each element at most once
  CXTrieHash-consed sets of D*
   CSet
    Citerator
 Nstd
  Ctuple_size< fe::Span< T, N > >
  Ctuple_element< I, fe::Span< T, N > >