X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flogger.cpp;h=dfb5fd4d6ced799be4a3f4aad4aaf43d60631c5e;hb=fefa7d1e8ac40136b690e305ce9594af95c678b8;hp=901800ec30fc2736113227988cc480f25a722d45;hpb=aa053d637e8259755af7d2e4b510a242f4d29c7b;p=builder.git diff --git a/source/logger.cpp b/source/logger.cpp index 901800e..dfb5fd4 100644 --- a/source/logger.cpp +++ b/source/logger.cpp @@ -1,3 +1,4 @@ +#include #include #include "logger.h" @@ -6,16 +7,21 @@ using namespace Msp; void Logger::enable_channel(const string &chan) { - enabled_channels.insert(chan); + auto i = lower_bound(enabled_channels, chan); + if(i==enabled_channels.end() || *i!=chan) + enabled_channels.insert(i, chan); } void Logger::disable_channel(const string &chan) { - enabled_channels.erase(chan); + auto i = lower_bound(enabled_channels, chan); + if(i!=enabled_channels.end() && *i==chan) + enabled_channels.erase(i); } void Logger::log(const string &chan, const string &message) const { - if(enabled_channels.count(chan)) + auto i = lower_bound(enabled_channels, chan); + if(i!=enabled_channels.end() && *i==chan) IO::print("%s\n", message); }