+#include <msp/core/algorithm.h>
#include <msp/io/print.h>
#include "logger.h"
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);
}