From dd599c5663c6e5db8bdab0597935550c026d5f7b Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 10 May 2012 06:24:07 +0000 Subject: Work towards translatable strings and a cleaner log interface. git-svn-id: http://svn.drobilla.net/lad/trunk/raul@4338 a436a847-0d15-0410-975c-d299462d15a1 --- raul/log.hpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'raul/log.hpp') diff --git a/raul/log.hpp b/raul/log.hpp index cbc9f14..d121290 100644 --- a/raul/log.hpp +++ b/raul/log.hpp @@ -1,5 +1,5 @@ /* This file is part of Raul. - * Copyright 2009-2011 David Robillard + * Copyright 2009-2012 David Robillard * * Raul is free software; you can redistribute it and/or modify it under the * terms of the GNU General Public License as published by the Free Software @@ -18,12 +18,15 @@ #ifndef RAUL_LOG_HPP #define RAUL_LOG_HPP +#include #include #include #include namespace Raul { +typedef boost::basic_format fmt; + /** Buffer for (possibly coloured) log printing. * \ingroup raul */ @@ -85,10 +88,18 @@ protected: int sync() { return 0; } }; -extern std::ostream info; -extern std::ostream warn; -extern std::ostream error; -extern std::ostream debug; +class Log : public std::ostream { +public: + Log(std::streambuf* buf) : std::ostream(buf) {} + template Log& operator()(const T& o) { + *this << o; return *this; + } +}; + +extern Raul::Log info; +extern Raul::Log warn; +extern Raul::Log error; +extern Raul::Log debug; } // namespace Raul -- cgit v1.2.1