From: Gunnar Beutner Date: Mon, 19 Aug 2013 06:53:59 +0000 (+0200) Subject: Implement missing + operator for the Value class. X-Git-Tag: v0.0.3~689 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=74822e929ab73fed98e500a47572de7fd323e050;p=icinga2 Implement missing + operator for the Value class. Fixes #4497 --- 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);