galaxy 1.0.0
Real-Time C++23 Game Programming Framework. Built on data-driven design principles and agile software engineering.
Loading...
Searching...
No Matches
Sink.hpp
Go to the documentation of this file.
1
7
8#ifndef GALAXY_LOGGING_SINK_HPP_
9#define GALAXY_LOGGING_SINK_HPP_
10
12
13namespace galaxy
14{
20 class Sink
21 {
22 public:
26 virtual ~Sink() noexcept;
27
33 virtual void sink(const LogMessage& message) = 0;
34
35 protected:
39 Sink() = default;
40
44 Sink(const Sink&) = default;
45
49 Sink(Sink&&) = default;
50
54 [[maybe_unused]]
55 Sink& operator=(const Sink&) = default;
56
60 [[maybe_unused]]
61 Sink& operator=(Sink&&) = default;
62 };
63} // namespace galaxy
64
65#endif
A source for log messages to be recorded to.
Definition Sink.hpp:21
Sink(Sink &&)=default
Move constructor.
virtual void sink(const LogMessage &message)=0
Sink the message.
Sink & operator=(Sink &&)=default
Move assignment operator.
virtual ~Sink() noexcept
Virtual destructor.
Definition Sink.cpp:12
Sink()=default
Constructor.
Sink & operator=(const Sink &)=default
Copy assignment operator.
Sink(const Sink &)=default
Copy constructor.
Timer.hpp galaxy.
Definition Timer.cpp:18
Parts of a log message to be passed to sinks.