35class log_writer_interface;
212concept SyncWriter = std::is_base_of_v<log_writer_interface, T> &&
213 std::is_base_of_v<sync_writer_tag, T>;
226concept AsyncWriter = std::is_base_of_v<log_writer_interface, T> &&
227 std::is_base_of_v<async_writer_tag, T>;
241 std::is_base_of_v<decorator_writer_tag, T>;
255 std::is_base_of_v<composite_writer_tag, T>;
Concept for asynchronous writers.
Concept for composite writers.
Concept for decorator writers.
Concept for synchronous writers.
constexpr bool is_sync_writer_v
constexpr bool is_async_writer_v
constexpr bool is_composite_writer_v
constexpr const char * to_string(writer_category cat) noexcept
Get string representation of writer category.
writer_category
Categories of log writers based on operational behavior.
constexpr bool is_decorator_writer_v
constexpr writer_category get_writer_category()
Get the primary category of a writer type.
Tag interface for asynchronous writers.
static constexpr writer_category category
Tag interface for composite writers.
static constexpr writer_category category
Tag interface for decorator writers.
static constexpr writer_category category
Type trait to check if a writer is asynchronous.
Type trait to check if a writer is composite.
Type trait to check if a writer is a decorator.
Type trait to check if a writer is synchronous.
Tag interface for synchronous writers.
static constexpr writer_category category