]> granicus.if.org Git - icinga2/commitdiff
Implement missing + operator for the Value class.
authorGunnar Beutner <gunnar.beutner@netways.de>
Mon, 19 Aug 2013 06:53:59 +0000 (08:53 +0200)
committerGunnar Beutner <gunnar.beutner@netways.de>
Mon, 19 Aug 2013 06:53:59 +0000 (08:53 +0200)
Fixes #4497

lib/base/value.cpp
lib/base/value.h

index 409a21e08551c28eb9ce9dc0cf468122458282ad..12f54c16ea8818cb26b8033c0891412ab3624a27 100644 (file)
@@ -241,6 +241,16 @@ ValueType Value::GetType(void) const
        return static_cast<ValueType>(m_Value.which());
 }
 
+Value icinga::operator+(const Value& lhs, const char *rhs)
+{
+       return static_cast<String>(lhs) + rhs;
+}
+
+Value icinga::operator+(const char *lhs, const Value& rhs)
+{
+       return lhs + static_cast<String>(rhs);
+}
+
 std::ostream& icinga::operator<<(std::ostream& stream, const Value& value)
 {
        stream << static_cast<String>(value);
index a354c29c0e92d1615ded4a08a5e8a0deeae60387..f667962bb8959afec8a09759f735b0ffe76df3ca 100644 (file)
@@ -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);