1 | /* |
2 | * MusicBrainz -- The Internet music metadatabase |
3 | * |
4 | * Copyright (C) 2006 Lukas Lalinsky |
5 | * |
6 | * This library is free software; you can redistribute it and/or |
7 | * modify it under the terms of the GNU Lesser General Public |
8 | * License as published by the Free Software Foundation; either |
9 | * version 2.1 of the License, or (at your option) any later version. |
10 | * |
11 | * This library is distributed in the hope that it will be useful, |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 | * Lesser General Public License for more details. |
15 | * |
16 | * You should have received a copy of the GNU Lesser General Public |
17 | * License along with this library; if not, write to the Free Software |
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
19 | * |
20 | * |
21 | */ |
22 | |
23 | #ifndef __MUSICBRAINZ3_LISTS_H__ |
24 | #define __MUSICBRAINZ3_LISTS_H__ |
25 | |
26 | #include <vector> |
27 | |
28 | namespace MusicBrainz |
29 | { |
30 | |
31 | class Artist; |
32 | class ArtistAlias; |
33 | class ArtistResult; |
34 | class Disc; |
35 | class Relation; |
36 | class Release; |
37 | class ReleaseEvent; |
38 | class ReleaseGroup; |
39 | class ReleaseGroupResult; |
40 | class ReleaseResult; |
41 | class Result; |
42 | class Track; |
43 | class TrackResult; |
44 | class User; |
45 | class Tag; |
46 | class Label; |
47 | class LabelAlias; |
48 | class LabelResult; |
49 | |
50 | //! A vector of pointers to Artist objects |
51 | typedef std::vector<Artist *> ArtistList; |
52 | //! A vector of pointers to ArtistAlias objects |
53 | typedef std::vector<ArtistAlias *> ArtistAliasList; |
54 | //! A vector of pointers to ArtistResult objects |
55 | typedef std::vector<ArtistResult *> ArtistResultList; |
56 | //! A vector of pointers to Disc objects |
57 | typedef std::vector<Disc *> DiscList; |
58 | //! A vector of pointers to Relation objects |
59 | typedef std::vector<Relation *> RelationList; |
60 | //! A vector of pointers to Release objects |
61 | typedef std::vector<Release *> ReleaseList; |
62 | //! A vector of pointers to ReleaseEvent objects |
63 | typedef std::vector<ReleaseEvent *> ReleaseEventList; |
64 | typedef std::vector<ReleaseGroup *> ReleaseGroupList; |
65 | typedef std::vector<ReleaseGroupResult *> ReleaseGroupResultList; |
66 | //! A vector of pointers to ReleaseResult objects |
67 | typedef std::vector<ReleaseResult *> ReleaseResultList; |
68 | //! A vector of pointers to Result objects |
69 | typedef std::vector<Result *> ResultList; |
70 | //! A vector of pointers to Track objects |
71 | typedef std::vector<Track *> TrackList; |
72 | //! A vector of pointers to TrackResult objects |
73 | typedef std::vector<TrackResult *> TrackResultList; |
74 | //! A vector of pointers to User objects |
75 | typedef std::vector<User *> UserList; |
76 | //! A vector of pointers to Tag objects |
77 | typedef std::vector<Tag *> TagList; |
78 | //! A vector of pointers to Label objects |
79 | typedef std::vector<Label *> LabelList; |
80 | //! A vector of pointers to LabelAlias objects |
81 | typedef std::vector<LabelAlias *> LabelAliasList; |
82 | //! A vector of pointers to ArtistResult objects |
83 | typedef std::vector<LabelResult *> LabelResultList; |
84 | typedef std::vector<std::string> IsrcList; |
85 | |
86 | } |
87 | |
88 | #endif |
89 | |
90 | |