From 74822e929ab73fed98e500a47572de7fd323e050 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Mon, 19 Aug 2013 08:53:59 +0200 Subject: [PATCH] Implement missing + operator for the Value class. Fixes #4497 --- lib/base/value.cpp | 10 ++++++++++ lib/base/value.h | 3 +++ 2 files changed, 13 insertions(+) diff --git a/lib/base/value.cpp b/lib/base/value.cpp index 409a21e08..12f54c16e 100644 --- a/lib/base/value.cpp +++ b/lib/base/value.cpp @@ -241,6 +241,16 @@ ValueType Value::GetType(void) const return static_cast(m_Value.which()); } +Value icinga::operator+(const Value& lhs, const char *rhs) +{ + return static_cast(lhs) + rhs; +} + +Value icinga::operator+(const char *lhs, const Value& rhs) +{ + return lhs + static_cast(rhs); +} + std::ostream& icinga::operator<<(std::ostream& stream, const Value& value) { stream << static_cast(value); diff --git a/lib/base/value.h b/lib/base/value.h index a354c29c0..f667962bb 100644 --- a/lib/base/value.h +++ b/lib/base/value.h @@ -114,6 +114,9 @@ private: static Value Empty; +I2_BASE_API Value operator+(const Value& lhs, const char *rhs); +I2_BASE_API Value operator+(const char *lhs, const Value& rhs); + I2_BASE_API std::ostream& operator<<(std::ostream& stream, const Value& value); I2_BASE_API std::istream& operator>>(std::istream& stream, Value& value);