|
FE 0.13.1
Header-only C++ frontend library
|
| Cfe::Lexer< K, S >::Ahead | A decoded code point together with the byte range it occupies |
| Cfe::Arena::Allocator< T > | An allocator in order to use this Arena for containers |
| Cfe::Parser< Tok, Tag, K, S >::Anchor | RAII helper that anchors a Tag for its lifetime; use Parser::anchor to build one |
| Cfe::Arena | An arena pre-allocates so-called pages of size Arena::page_size_ |
| Cfe::Bitset | A dynamically growing set of bits with small storage optimization |
| Cfe::utf8::Char32 | Wrapper for char32_t with an operator<< that writes UTF-8 |
| Cfe::cli::Cli | Holds the Opts, parses argc/argv, and renders the help |
| Cfe::Dbg | The debug info of an entity: where it came from and what it was called |
| Cfe::DbgKey | Opaque handle to a Dbg interned in a Driver; see Driver::dbg |
| Cfe::Arena::Deleter< T > | |
| Cfe::Diag | How a diagnostic lays out - and how much of it an Error keeps |
| Cfe::CodeDiag | The Diag a Driver installs by default: colors a `citation` and drops its backticks - or keeps them verbatim without color; \` is a literal backtick |
| Cfe::Dbg::Eq | |
| Cfe::Sym::Eq | |
| Cfe::Sym::String::Equal | |
| Cfe::XTrie< D, K, N >::Data::Equal | |
| Cfe::Error | Collects diagnostics and hands each to the Diag that lays it out |
| Cstd::exception | |
| Cfe::Error::Bail | What Error::ack and Error::bail throw |
| Cstd::false_type | |
| Cfe::is_bit_enum< T > | |
| Cfe::Log::FmtLoc< Args > | A std::format_string that remembers where it was written |
| Cstd::formatter | |
| Cfe::basic_ostream_formatter< char > | |
| Cfe::basic_ostream_formatter< Char > | Make types that support ostream operators available for std::format |
| Cfe::cli::Group | Starts a new section in the help output; see fe::cli::group |
| Cfe::Bitset::Hash | |
| Cfe::Dbg::Hash | |
| Cfe::Sym::Hash | |
| Cfe::Sym::String::Hash | |
| Cfe::XTrie< D, K, N >::Data::Hash | |
| Cstd::integral_constant | |
| Cstd::tuple_size< fe::Span< T, N > > | |
| Cfe::Bitset::iterator | Iterates over the indices of all set bits in ascending order |
| Cfe::XTrie< D, K, N >::Set::iterator | |
| Cfe::Join< R > | Join elements of range with sep |
| Cfe::Lexer< K, S > | The blueprint for a lexer with a buffer of K tokens to peek into the future (Lexer::ahead) |
| Cfe::Loc | Location within a Src: the half-open byte range [Loc::begin, Loc::end) |
| Cfe::Log | Facility to log what you are doing |
| Cstd::logic_error | |
| Cfe::sys::CmdNotFound | Thrown by sys::require_cmd when a command cannot be located on the system |
| Cstd::pmr::memory_resource | |
| Cfe::Arena::MemoryResource | A memory resource bridge in order to use this Arena for pmr containers |
| Cfe::Error::Msg | One Tag::Error or Tag::Warn together with the Notes that belong to it |
| Cfe::lct::Node< P, K > | This is an intrusive Link-Cut-Tree |
| Cfe::Error::Note | A secondary message elaborating a Msg |
| Cfe::cli::Opt | One option or positional argument; build one with fe::cli::opt, fe::cli::arg, or fe::cli::help |
| Cfe::Parser< Tok, Tag, K, S > | The blueprint for a recursive descent/ ascent parser using a K lookahead of Tokens |
| Cfe::PathHash | Hashes a std::filesystem::path - consistent with its operator==, which compares lexically |
| Cfe::Pos | Byte offset into a Src; pass around as value |
| Cfe::Profiler | Records wall-clock timings for (possibly nested) named Profiler::Spans and reports them in various formats |
| Cfe::Bitset::reference | Proxy that Bitset::operator[] hands out to read/write the bit it refers to |
| Cfe::Restore< T, Get, Set > | RAII guard that restores a value at the end of the scope |
| Cfe::Restore< T, nullptr, nullptr > | Restores ref to its current value at the end of the scope |
| Cfe::Ring< T, N > | A ring buffer with N elements |
| Cfe::Ring< T, 1 > | Specialization if N == 1 - doesn't need a ring |
| Cfe::Ring< T, 2 > | Specialization if N == 2; doesn't need a ring, we just copy |
| Cfe::RuntimeCast< B > | Inherit from this class using CRTP, for some nice dynamic_cast-style wrappers |
| Cfe::XTrie< D, K, N >::Set | |
| Cfe::Snippet | The underlined source excerpt that goes below a diagnostic |
| Cfe::Profiler::Span | A single run |
| Cstd::span | |
| Cfe::Span< const T, N > | |
| Cfe::Span< T, N > | This is a thin wrapper for std::span<T, N> with the following additional features: |
| Cfe::Src | The content of one source file together with the offsets its rows start at |
| Cfe::SrcMap | Interns the text - and the std::filesystem::path - of every file a Loc may point into |
| Cfe::StreamFn< F > | Wrap a callable f(std::ostream&) -> std::ostream& so it streams via operator<< and std::format |
| Cfe::Sym::String | |
| Cfe::Sym | A Symbol just wraps a pointer to Sym::String, so pass Sym itself around as value |
| Cfe::SymPool | Hash set where all strings - wrapped in Symbol - live in |
| Cfe::Driver | Use/derive from this class for "global" variables that you need all over the place |
| Cfe::Tab | Keeps track of indentation level during output |
| Cfe::Parser< Tok, Tag, K, S >::Tracker | |
| Cstd::tuple_element< I, fe::Span< T, N > > | |
| Cdetail::VectorBase | |
| Cfe::Vector< fe::Dbg > | |
| Cfe::Vector< T, N, A > | This is a thin wrapper for absl::InlinedVector<T, N, A> which is a drop-in replacement for std::vector<T, A> |
| Cfe::Worklist< Set, C > | A worklist that pushes each element at most once |
| Cfe::XTrie< D, K, N > | Hash-consed sets of D* |
| Carray< fe::Lexer::Ahead, N > | |
| Carray< Tok, N > |