Thorin 1.9.0
The Higher ORder INtermediate representation
|
#include <functional>
#include <iostream>
#include <ostream>
#include <ranges>
#include <sstream>
#include <string>
#include <fe/assert.h>
Go to the source code of this file.
Classes | |
struct | thorin::Elem< R, F > |
Use with print to output complicated std::ranges::range s. More... | |
class | thorin::Tab |
Keeps track of indentation level. More... | |
Namespaces | |
namespace | thorin |
Functions | |
out/err | |
thorin::prints to | |
template<class... Args> | |
std::ostream & | thorin::outf (const char *fmt, Args &&... args) |
template<class... Args> | |
std::ostream & | thorin::errf (const char *fmt, Args &&... args) |
template<class... Args> | |
std::ostream & | thorin::outln (const char *fmt, Args &&... args) |
template<class... Args> | |
std::ostream & | thorin::errln (const char *fmt, Args &&... args) |
Formatted Output | |
Provides a Use
| |
#define | assertf(condition, ...) |
std::ostream & | thorin::print (std::ostream &os, const char *s) |
Base case. | |
template<class T , class... Args> | |
std::ostream & | thorin::print (std::ostream &os, const char *s, T &&t, Args &&... args) |
template<class... Args> | |
std::ostream & | thorin::println (std::ostream &os, const char *fmt, Args &&... args) |
As above but end with std::endl . | |
template<class... Args> | |
std::string | thorin::fmt (const char *s, Args &&... args) |
Wraps thorin::print to output a formatted std:string . | |
template<class T = std::logic_error, class... Args> | |
void | thorin::error (const char *fmt, Args &&... args) |
Wraps thorin::print to throw T with a formatted message. | |