Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

wadgroup.cpp

Go to the documentation of this file.
00001 // libdoomwad: manipulates Doom wad files.
00002 // Copyright (C) 2005  John Gaughan
00003 //
00004 // This library is free software; you can redistribute it and/or
00005 // modify it under the terms of the GNU Lesser General Public
00006 // License as published by the Free Software Foundation; either
00007 // version 2.1 of the License, or (at your option) any later version.
00008 //
00009 // This library is distributed in the hope that it will be useful,
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012 // Lesser General Public License for more details.
00013 //
00014 // You should have received a copy of the GNU Lesser General Public
00015 // License along with this library; if not, write to the Free Software
00016 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017 //
00018 // This library is distributed with the full text of the LGPL. Please see
00019 // the accompanying file named COPYING.
00020 // 
00021 // You may contact the author at john@johngaughan.net
00022 
00028 // C++ required.
00029 #if !defined __cplusplus
00030 #error C++ compiler required
00031 #endif
00032 
00033 // C++ headers
00034 #include <list>
00035 #include <string>
00036 
00037 // Doom headers
00038 #include "global.hpp"
00039 #include "wad.hpp"
00040 #include "wadgroup.hpp"
00041 
00042 using namespace Doomwad;
00043 
00049 WadGroup::WadGroup (const Wad &wad) throw ()
00050 {
00051   this->assign (1, wad);
00052 }
00053 
00061 std::string WadGroup::getMasterDirectory (char delimiter) const throw ()
00062 {
00063   Wad w;
00064   this->makeGroupedWad (w);
00065   return w.getWadDirectory (delimiter);
00066 }
00067 
00075 bool WadGroup::makeGroupedWad (Wad &wad) const throw ()
00076 {
00077   if (this->begin () == this->end ())
00078   {
00079     wad.clear ();
00080   }
00081   wad = *(this->begin ());
00082   const_iterator iter = this->begin ();
00083   for (++iter; iter != this->end (); ++iter)
00084   {
00085     wad += (*iter);
00086   }
00087   return true;
00088 }

Generated on Fri Jun 10 19:38:51 2005 for libdoomwad by  doxygen 1.4.0