refs #356 Removed CValueObject and expanded CValueObjectStdTuple to compensate.

* Involves rearranging some header includes to break cyclic include dependencies,
* Adding a new, simple base class CEmpty,
* Removing any remaining polymorphic uses of CValueObject with templates,
* Adding a new trait for use with enable_if to restrict templates to work only with value objects,
* Replacing the polymorphic/runtime multimethod-based compare functions with static/compile-time compare functions.
This commit is contained in:
Mathew Sutcliffe
2015-03-16 18:37:05 +00:00
parent d878f879aa
commit 31c33b4b8d
17 changed files with 440 additions and 616 deletions

View File

@@ -84,38 +84,6 @@ namespace BlackMisc
return !(valueMap == variant);
}
/*
* Compare with CValueObject
*/
bool operator==(const CPropertyIndexVariantMap &indexMap, const CValueObject &valueObject)
{
return indexMap == valueObject.toCVariant();
}
/*
* Compare with CValueObject
*/
bool operator!=(const CPropertyIndexVariantMap &indexMap, const CValueObject &valueObject)
{
return !(indexMap == valueObject);
}
/*
* Compare with CValueObject
*/
bool operator==(const CValueObject &valueObject, const CPropertyIndexVariantMap &valueMap)
{
return valueMap == valueObject;
}
/*
* Compare with CValueObject
*/
bool operator!=(const CValueObject &valueObject, const CPropertyIndexVariantMap &valueMap)
{
return !(valueMap == valueObject);
}
/*
* Convert to string
*/