AppFwk : Return reference to QTextStream for << and >> operator overloads

This commit is contained in:
Magne Sjaastad 2017-09-20 09:10:36 +02:00
parent 1bb1c87058
commit 7ebc922541
3 changed files with 15 additions and 7 deletions

View File

@ -319,15 +319,19 @@ bool operator != ( T value, const caf::AppEnum<T>& appEnum)
//==================================================================================================
template < typename T >
void operator >> (QTextStream& str, caf::AppEnum<T>& appEnum)
QTextStream& operator >> (QTextStream& str, caf::AppEnum<T>& appEnum)
{
QString text;
str >> text;
appEnum.setFromText(text);
return str;
}
template < typename T >
void operator << (QTextStream& str, const caf::AppEnum<T>& appEnum)
QTextStream& operator << (QTextStream& str, const caf::AppEnum<T>& appEnum)
{
str << appEnum.text();
str << appEnum.text();
return str;
}

View File

@ -134,17 +134,21 @@ void caf::Tristate::setFromText(const QString& valueText)
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void operator >> (QTextStream& str, caf::Tristate& triplet)
QTextStream& operator >> (QTextStream& str, caf::Tristate& triplet)
{
QString text;
str >> text;
triplet.setFromText(text);
return str;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void operator << (QTextStream& str, const caf::Tristate& triplet)
QTextStream& operator << (QTextStream& str, const caf::Tristate& triplet)
{
str << triplet.text();
return str;
}

View File

@ -46,7 +46,7 @@ protected:
//==================================================================================================
// Overload of QTextStream for caf::Triplet
//==================================================================================================
void operator >> (QTextStream& str, caf::Tristate& triplet);
void operator << (QTextStream& str, const caf::Tristate& triplet);
QTextStream& operator >> (QTextStream& str, caf::Tristate& triplet);
QTextStream& operator << (QTextStream& str, const caf::Tristate& triplet);
Q_DECLARE_METATYPE(caf::Tristate);