LeviLamina
Loading...
Searching...
No Matches
Sink.h
1
#pragma once
2
3
#include <memory>
4
5
#include "ll/api/data/IndirectValue.h"
6
#include "ll/api/io/Formatter.h"
7
8
namespace
ll::io {
9
class
SinkBase
:
public
std::enable_shared_from_this<SinkBase> {
10
public
:
11
virtual
~SinkBase
() =
default
;
12
13
virtual
void
append(
LogMessageView
const
& view) = 0;
14
15
virtual
void
flush() {}
16
17
virtual
void
setFormatter(
Polymorphic<Formatter>
fmter) = 0;
18
19
virtual
void
setFlushLevel(LogLevel) {}
20
};
21
class
Sink
:
public
SinkBase
{
22
protected
:
23
Polymorphic<Formatter>
formatter;
24
25
public
:
26
LLAPI
Sink
(
Polymorphic<Formatter>
formatter);
27
28
LLAPI
virtual
~Sink
();
29
30
LLAPI
void
setFormatter(
Polymorphic<Formatter>
fmter)
override
;
31
};
32
}
// namespace ll::io
ll::data::IndirectValue
Definition
IndirectValue.h:47
ll::io::SinkBase
Definition
Sink.h:9
ll::io::Sink
Definition
Sink.h:21
ll::io::LogMessageView
Definition
LogMessage.h:12
src
ll
api
io
Sink.h
Generated on Sat Apr 26 2025 05:55:20 for LeviLamina by
1.12.0