diff options
author | Jan Huwald <jh@sotun.de> | 2014-02-16 19:56:04 (GMT) |
---|---|---|
committer | Jan Huwald <jh@sotun.de> | 2014-02-16 19:56:04 (GMT) |
commit | 7de7b1618c85d21d3f737d0981f8ae3784ac1036 (patch) | |
tree | 6a1cdfe882f7ff764a78c27ac4a18a9cf4865c0d /src/printutils.h | |
parent | 8f87168174e6c883260d613494082ffe791c767e (diff) |
allow writing to standard output from command line, update output handler to lambda
- cmdline can output to a file or cout
- output handler uses lambda instead of function pointer
- this allows removing Echostream with a one-liner
Diffstat (limited to 'src/printutils.h')
-rw-r--r-- | src/printutils.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/printutils.h b/src/printutils.h index 18aadde..723bf1e 100644 --- a/src/printutils.h +++ b/src/printutils.h @@ -1,16 +1,15 @@ #ifndef PRINTUTILS_H_ #define PRINTUTILS_H_ -#include <string> -#include <list> +#include <functional> #include <iostream> +#include <list> +#include <string> #include <boost/format.hpp> -typedef void (OutputHandlerFunc)(const std::string &msg, void *userdata); -extern OutputHandlerFunc *outputhandler; -extern void *outputhandler_data; +extern std::function<void(std::string)> outputhandler, default_outputhandler; -void set_output_handler(OutputHandlerFunc *newhandler, void *userdata); +void set_output_handler(std::function<void(std::string)>); extern std::list<std::string> print_messages_stack; void print_messages_push(); |