diff options
Diffstat (limited to 'yage/core/logmessage.cpp')
-rw-r--r-- | yage/core/logmessage.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/yage/core/logmessage.cpp b/yage/core/logmessage.cpp new file mode 100644 index 00000000..aa512042 --- /dev/null +++ b/yage/core/logmessage.cpp @@ -0,0 +1,32 @@ +/* ---------------------------------------------------------------------------- + * logmessage.cpp + * + * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License + * See file LICENSE for more details + * ---------------------------------------------------------------------------- + */ + +#include "logmessage.h" +#include "logger.h" + +namespace yage +{ + +LogMessage::LogMessage(Logger *owner) : owner_(owner) {} + +LogMessage::LogMessage(LogMessage &&msg) : owner_(std::move(msg.owner_)) {} + +LogMessage::~LogMessage() +{ + if (owner_ != nullptr) { + owner_->flush(*this); + } +} + +LogMessage &LogMessage::operator<<(std::ostream &(*fn)(std::ostream &os)) +{ + fn(buffer_); + return *this; +} + +} // namespace yage |