aboutsummaryrefslogtreecommitdiffstats
path: root/yage/core/logmessage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'yage/core/logmessage.cpp')
-rw-r--r--yage/core/logmessage.cpp32
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