A C++ library for logging very fast and without allocating.
Du kan inte välja fler än 25 ämnen
Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
|
#include <span>
|
|
#include "sl/logger.h"
|
|
#include "registry.h"
|
|
|
|
namespace sl {
|
|
void log(int log_id, std::string line) {
|
|
auto& slab = registry_map.at(log_id);
|
|
auto token = slab.reserve_write(line.size());
|
|
auto span = slab.get_buffer(token);
|
|
for(auto elem : line) {
|
|
span.front() = elem;
|
|
span = span.subspan(1);
|
|
}
|
|
slab.conclude_write(token);
|
|
}
|
|
}
|