|
FE 0.13.1
Header-only C++ frontend library
|
#include <concepts>#include <format>#include <functional>#include <iostream>#include <ostream>#include <print>#include <ranges>#include <sstream>#include <string_view>#include <utility>#include "fe/bitset.h"#include "fe/loc.h"#include "fe/utf8.h"Go to the source code of this file.
Classes | |
| class | fe::StreamFn< F > |
| Wrap a callable f(std::ostream&) -> std::ostream& so it streams via operator<< and std::format. More... | |
| struct | fe::basic_ostream_formatter< Char > |
| Make types that support ostream operators available for std::format. More... | |
| class | fe::Tab |
| Keeps track of indentation level during output. More... | |
| class | fe::Join< R > |
Join elements of range with sep. More... | |
Namespaces | |
| namespace | fe |
Concepts | |
| concept | fe::Formattable |
Macros | |
| #define | assertf(condition, ...) |
| Like assert, but with a std::format-style message: assertf(p != nullptr, "bad ptr {}", id). | |
Typedefs | |
| using | fe::ostream_formatter = basic_ostream_formatter<char> |
Functions | |
| template<class F> | |
| fe::StreamFn (F) -> StreamFn< F > | |
| template<class R> | |
| fe::Join (R &&, std::string_view=", ") -> Join< R > | |
| #define assertf | ( | condition, | |
| ... ) |
Like assert, but with a std::format-style message: assertf(p != nullptr, "bad ptr {}", id).
condition. For a bare assertion without a message just use vanilla assert. (Supporting zero message args here would need a surprising amount of preprocessor hackery, especially on MSVC, and isn't worth it.)