|
FE 0.9.0
Header-only C++ frontend library
|
| Nfe | |
| Nutf8 | UTF-8 helpers for decoding byte streams, encoding char32_t values, and running ASCII-style character classification on char32_t |
| CChar32 | Wrapper for char32_t with an operator<< that writes UTF-8 |
| CArena | An arena pre-allocates so-called pages of size Arena::page_size_ |
| CMemoryResource | A memory resource bridge in order to use this Arena for pmr containers |
| CAllocator | An allocator in order to use this Arena for containers |
| CDeleter | |
| CRuntimeCast | Inherit from this class using CRTP, for some nice dynamic_cast-style wrappers |
| CDriver | Use/derive from this class for "global" variables that you need all over the place |
| Cis_bit_enum | |
| CStreamFn | Wrap a callable f(std::ostream&) -> std::ostream& so it streams via operator<< and std::format |
| Cbasic_ostream_formatter | Make types that support ostream operators available for std::format |
| CTab | Keeps track of indentation level during output |
| CJoin | Join elements of range with sep |
| CLexer | The blueprint for a lexer with a buffer of K tokens to peek into the future (Lexer::ahead) |
| CPos | Position in a source file; pass around as value |
| CLoc | Location in a File |
| CParser | The blueprint for a recursive descent/ ascent parser using a K lookahead of Tokens |
| CTracker | |
| CRing | A 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 |
| CSym | A Symbol just wraps a pointer to Sym::String, so pass Sym itself around as value |
| CString | |
| CEqual | |
| CHash | |
| CHash | |
| CEq | |
| CSymPool | Hash set where all strings - wrapped in Symbol - live in |