/*************************************************************************** copyright : (C) 2001-2006 by Robby Stephenson email : robby@periapsis.org ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of version 2 of the GNU General Public License as * * published by the Free Software Foundation; * * * ***************************************************************************/ #ifndef DATA_VECTORS_H #define DATA_VECTORS_H #include "ptrvector.h" #include <tqmap.h> #include <tqpair.h> #include <ksharedptr.h> namespace Tellico { typedef TQMap<TQString, TQString> StringMap; class Filter; typedef TDESharedPtr<Filter> FilterPtr; typedef Vector<Filter> FilterVec; namespace Data { class Collection; typedef TDESharedPtr<Collection> CollPtr; typedef TDESharedPtr<const Collection> ConstCollPtr; typedef Vector<Collection> CollVec; class Field; typedef TDESharedPtr<Field> FieldPtr; typedef TDESharedPtr<const Field> ConstFieldPtr; typedef Vector<Field> FieldVec; typedef FieldVec::Iterator FieldVecIt; // typedef Vector<ConstFieldPtr> ConstFieldVec; class Entry; typedef TDESharedPtr<Entry> EntryPtr; typedef TDESharedPtr<const Entry> ConstEntryPtr; typedef Vector<Entry> EntryVec; typedef EntryVec::Iterator EntryVecIt; typedef Vector<const Entry> ConstEntryVec; // complicated, I know // first item is a vector of all entries that got added in the merge process // second item is a pair of entries that had their track field modified // since a music collection is the only one that would actually merge entries typedef TQValueVector< TQPair<EntryPtr, TQString> > PairVector; typedef TQPair<Data::EntryVec, PairVector> MergePair; class Borrower; typedef TDESharedPtr<Borrower> BorrowerPtr; typedef Vector<Borrower> BorrowerVec; } } #endif