#include "ct_abstractitemattributet.h" template CT_AbstractItemAttributeT::CT_AbstractItemAttributeT(const CT_AbstractCategory *category) : SuperClass(category) { } template CT_AbstractItemAttributeT::CT_AbstractItemAttributeT(const QString& categoryName) : SuperClass(categoryName) { } template bool CT_AbstractItemAttributeT::toBool(const CT_AbstractItem* item, bool* ok) const { Q_UNUSED(item) if(ok != nullptr) *ok = false; return false; } template double CT_AbstractItemAttributeT::toDouble(const CT_AbstractItem* item, bool* ok) const { Q_UNUSED(item) if(ok != nullptr) *ok = false; return 0.0; } template float CT_AbstractItemAttributeT::toFloat(const CT_AbstractItem* item, bool* ok) const { Q_UNUSED(item) if(ok != nullptr) *ok = false; return 0.0f; } template long double CT_AbstractItemAttributeT::toLongDouble(const CT_AbstractItem* item, bool* ok) const { Q_UNUSED(item) if(ok != nullptr) *ok = false; return static_cast(0.0); } template int CT_AbstractItemAttributeT::toInt(const CT_AbstractItem* item, bool* ok) const { Q_UNUSED(item) if(ok != nullptr) *ok = false; return 0; } template quint64 CT_AbstractItemAttributeT::toUInt64(const CT_AbstractItem* item, bool* ok) const { Q_UNUSED(item) if(ok != nullptr) *ok = false; return 0; } template size_t CT_AbstractItemAttributeT::toSizeT(const CT_AbstractItem* item, bool* ok) const { Q_UNUSED(item) if(ok != nullptr) *ok = false; return 0; } template QString CT_AbstractItemAttributeT::toString(const CT_AbstractItem* item, bool* ok) const { if(ok != nullptr) *ok = true; return CT_NumericToStringConversionT::toString(data(item)); } template CT_AbstractCategory::ValueType CT_AbstractItemAttributeT::valueType() const { return CT_AbstractCategory::staticValueTypeToCategoryType(); } template QString CT_AbstractItemAttributeT::valueTypeToString() const { return CT_AbstractCategory::staticValueTypeToCategoryTypeString(); }