diff options
| author | untodesu <kirill@untode.su> | 2025-06-28 01:59:49 +0500 |
|---|---|---|
| committer | untodesu <kirill@untode.su> | 2025-06-28 01:59:49 +0500 |
| commit | 61e5bcef2629e2d68b805a956a96fff264d4f74d (patch) | |
| tree | bca3a94bac79d34e3c0db57c77604f5a823ecbda /deps/include/spdlog/sinks/ringbuffer_sink.h | |
| parent | 88c01588aa0830e219eaa62588839e4d1e2883ce (diff) | |
| download | voxelius-61e5bcef2629e2d68b805a956a96fff264d4f74d.tar.bz2 voxelius-61e5bcef2629e2d68b805a956a96fff264d4f74d.zip | |
Restructure dependencies and update to C++20
- Nuked static_assert from almost everywhere in the project
- Nuked binary dependency support. Might add one later though
- Separated dependency headers into a separate include subdirectory
- Grafted a thirdpartylegalnotices.txt generator from RITEG
- Pushed development snapshot version to 2126 (26th week of 2025)
Diffstat (limited to 'deps/include/spdlog/sinks/ringbuffer_sink.h')
| -rw-r--r-- | deps/include/spdlog/sinks/ringbuffer_sink.h | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/deps/include/spdlog/sinks/ringbuffer_sink.h b/deps/include/spdlog/sinks/ringbuffer_sink.h deleted file mode 100644 index 34bbd71..0000000 --- a/deps/include/spdlog/sinks/ringbuffer_sink.h +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
-// Distributed under the MIT License (http://opensource.org/licenses/MIT)
-
-#pragma once
-
-#include "spdlog/details/circular_q.h"
-#include "spdlog/details/log_msg_buffer.h"
-#include "spdlog/details/null_mutex.h"
-#include "spdlog/sinks/base_sink.h"
-
-#include <mutex>
-#include <string>
-#include <vector>
-
-namespace spdlog {
-namespace sinks {
-/*
- * Ring buffer sink
- */
-template <typename Mutex>
-class ringbuffer_sink final : public base_sink<Mutex> {
-public:
- explicit ringbuffer_sink(size_t n_items)
- : q_{n_items} {}
-
- std::vector<details::log_msg_buffer> last_raw(size_t lim = 0) {
- std::lock_guard<Mutex> lock(base_sink<Mutex>::mutex_);
- auto items_available = q_.size();
- auto n_items = lim > 0 ? (std::min)(lim, items_available) : items_available;
- std::vector<details::log_msg_buffer> ret;
- ret.reserve(n_items);
- for (size_t i = (items_available - n_items); i < items_available; i++) {
- ret.push_back(q_.at(i));
- }
- return ret;
- }
-
- std::vector<std::string> last_formatted(size_t lim = 0) {
- std::lock_guard<Mutex> lock(base_sink<Mutex>::mutex_);
- auto items_available = q_.size();
- auto n_items = lim > 0 ? (std::min)(lim, items_available) : items_available;
- std::vector<std::string> ret;
- ret.reserve(n_items);
- for (size_t i = (items_available - n_items); i < items_available; i++) {
- memory_buf_t formatted;
- base_sink<Mutex>::formatter_->format(q_.at(i), formatted);
- ret.push_back(SPDLOG_BUF_TO_STRING(formatted));
- }
- return ret;
- }
-
-protected:
- void sink_it_(const details::log_msg &msg) override {
- q_.push_back(details::log_msg_buffer{msg});
- }
- void flush_() override {}
-
-private:
- details::circular_q<details::log_msg_buffer> q_;
-};
-
-using ringbuffer_sink_mt = ringbuffer_sink<std::mutex>;
-using ringbuffer_sink_st = ringbuffer_sink<details::null_mutex>;
-
-} // namespace sinks
-
-} // namespace spdlog
|
