/* dtkAbstractContainer.tpp --- * * Author: tkloczko * Copyright (C) 2011 - Thibaud Kloczko, Inria. * Created: Tue May 22 14:32:11 2012 (+0200) * Version: $Id: bce9e870453673783baeb182f6fc47d411434b80 $ * Last-Updated: Mon Sep 30 17:02:14 2013 (+0200) * By: Julien Wintz * Update #: 35 */ /* Commentary: * */ /* Change log: * */ #ifndef DTKABSTRACTCONTAINER_TPP #define DTKABSTRACTCONTAINER_TPP // /////////////////////////////////////////////////////////////////// // // /////////////////////////////////////////////////////////////////// template <> DTKCONTAINERSUPPORT_EXPORT QString dtkAbstractContainer::description(void) const; // ///////////////////////////////////////////////////////////////// // dtkAbstractContainer implementation // ///////////////////////////////////////////////////////////////// template dtkAbstractContainer::dtkAbstractContainer(void) { } template dtkAbstractContainer::dtkAbstractContainer(const dtkAbstractContainer& other) { } template dtkAbstractContainer::~dtkAbstractContainer(void) { } template dtkAbstractContainer& dtkAbstractContainer::operator = (const dtkAbstractContainer& other) { return *(other.clone()); } template dtkAbstractContainer& dtkAbstractContainer::operator << (const T& value) { this->add(value); } template dtkAbstractContainer& dtkAbstractContainer::operator << (const dtkAbstractContainer& values) { this->add(values); } template bool dtkAbstractContainer::operator == (const dtkAbstractContainer& other) const { return this->isEqual(other); } template bool dtkAbstractContainer::operator != (const dtkAbstractContainer& other) const { return !(this->isEqual(other)); } template dtkAbstractContainer& dtkAbstractContainer::operator + (const dtkAbstractContainer& other) const { dtkAbstractContainer *result = this->clone(this); *(result) += other; return *result; } template dtkAbstractContainer& dtkAbstractContainer::operator += (const dtkAbstractContainer& other) { this->add(other); return (*this); } template dtkAbstractContainer& dtkAbstractContainer::operator += (const T& value) { this->add(value); return (*this); } template QDebug operator<<(QDebug& dbg, const dtkAbstractContainer& container) { dbg.nospace() << container.identifier(); return dbg.space(); } template QDebug operator<<(QDebug& dbg, const dtkAbstractContainer *container) { dbg.nospace() << container->identifier(); return dbg.space(); } #endif