libmusicbrainz4  4.0.3
RelationListList.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Typedefs Enumerations Enumerator Defines