libmusicbrainz4
4.0.3
|
00001 /* -------------------------------------------------------------------------- 00002 00003 libmusicbrainz4 - Client library to access MusicBrainz 00004 00005 Copyright (C) 2011 Andrew Hawkins 00006 00007 This file is part of libmusicbrainz4. 00008 00009 This library is free software; you can redistribute it and/or 00010 modify it under the terms of v2 of the GNU Lesser General Public 00011 License as published by the Free Software Foundation. 00012 00013 libmusicbrainz4 is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 Lesser General Public License for more details. 00017 00018 You should have received a copy of the GNU General Public License 00019 along with this library. If not, see <http://www.gnu.org/licenses/>. 00020 00021 $Id$ 00022 00023 ----------------------------------------------------------------------------*/ 00024 00025 #ifndef _MUSICBRAINZ4_RELATIONLIST_GROUP_H 00026 #define _MUSICBRAINZ4_RELATIONLIST_GROUP_H 00027 00028 #include <iostream> 00029 00030 #include "musicbrainz4/xmlParser.h" 00031 00032 namespace MusicBrainz4 00033 { 00034 class CRelationListListPrivate; 00035 00036 class CRelationList; 00037 00038 class CRelationListList 00039 { 00040 public: 00041 CRelationListList(); 00042 CRelationListList(const CRelationListList& Other); 00043 CRelationListList& operator =(const CRelationListList& Other); 00044 virtual ~CRelationListList(); 00045 00046 void Add(CRelationList *RelationList); 00047 int NumItems() const; 00048 CRelationList *Item(int Item) const; 00049 int Offset() const { return 0; } 00050 int Count() const { return NumItems(); } 00051 00052 std::ostream& Serialise(std::ostream& os) const; 00053 00054 private: 00055 void Cleanup(); 00056 00057 CRelationListListPrivate * const m_d; 00058 }; 00059 } 00060 00061 std::ostream& operator << (std::ostream& os, const MusicBrainz4::CRelationListList& RelationListList); 00062 00063 #endif