Mercurial > projects > ldc
view gen/logger.c @ 34:4648206ca213 trunk
[svn r38] * resizing dynamic arrays support
* throw is replaced with assert(0)
* catch is ignored
* better foreach support
* various bugfixes
author | lindquist |
---|---|
date | Tue, 09 Oct 2007 02:50:00 +0200 |
parents | e116aa1488e6 |
children | 27b2f40bdb58 |
line wrap: on
line source
#ifndef LLVMD_NO_LOGGER #include <cassert> #include <cstdarg> #include <cstdio> #include <cstdlib> #include <iostream> #include <string> #include "gen/logger.h" namespace Logger { static std::string indent_str; void indent() { indent_str += " "; } void undent() { assert(!indent_str.empty()); indent_str.resize(indent_str.size()-2); } std::ostream& cout() { return std::cout << indent_str; } void println(const char* fmt,...) { printf(indent_str.c_str()); va_list va; va_start(va,fmt); vprintf(fmt,va); va_end(va); printf("\n"); } void print(const char* fmt,...) { printf(indent_str.c_str()); va_list va; va_start(va,fmt); vprintf(fmt,va); va_end(va); } } #endif