]> git.tdb.fi Git - builder.git/blobdiff - source/logger.cpp
Replace some sets with vectors as well
[builder.git] / source / logger.cpp
index 901800ec30fc2736113227988cc480f25a722d45..dfb5fd4d6ced799be4a3f4aad4aaf43d60631c5e 100644 (file)
@@ -1,3 +1,4 @@
+#include <msp/core/algorithm.h>
 #include <msp/io/print.h>
 #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);
 }