|
FE 0.6.1
A header-only C++ library for writing frontends
|
| Cfe::Arena::Allocator< T > | An allocator in order to use this Arena for containers |
| Cfe::Arena | An arena pre-allocates so-called pages of size Arena::page_size_ |
| Cfe::utf8::Char32 | Wrapper for char32_t which has a friend ostream operator |
| Cfe::Arena::Deleter< T > | |
| Cfe::Sym::Eq | |
| Cfe::Sym::String::Equal | |
| ▼Cstd::false_type | |
| Cfe::is_bit_enum< T > | |
| ▼Cstd::formatter | |
| Cfe::basic_ostream_formatter< Char > | Make types that support ostream operators available for std::format |
| Cfe::Sym::Hash | |
| Cfe::Sym::String::Hash | |
| 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 in a File |
| Cfe::Parser< Tok, Tag, K, S > | The blueprint for a recursive descent/ ascent parser using a K lookahead of Tokens |
| Cfe::Pos | Position in a source file; pass around as value |
| Cfe::Ring< T, N > | A ring buffer with N elements |
| Cfe::Ring< char32_t, K > | |
| 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::Ring< Tok, K > | |
| Cfe::RuntimeCast< B > | Inherit from this class using CRTP, for some nice dynamic_cast-style wrappers |
| 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 | |
| Carray< char32_t, N > | |
| Carray< Tok, N > |