#ifndef REFERENCE_H #define REFERENCE_H // General tool for removing concrete dependencies while still incrementing a // reference count. class BaseReferenceHolder { public: BaseReferenceHolder() { } virtual ~BaseReferenceHolder() { } }; template class ReferenceHolder : public BaseReferenceHolder { public: ReferenceHolder(QSharedPointer& reference) : m_reference(reference) { } virtual ~ReferenceHolder() {} private: QSharedPointer m_reference; }; #endif /* REFERENCE_H */