Implement missing + operator for the Value class.

Fixes #4497
This commit is contained in:
Gunnar Beutner 2013-08-19 08:53:59 +02:00
parent 1a13f2ad6e
commit 74822e929a
2 changed files with 13 additions and 0 deletions

View 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);

View 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);