bitmap_t.hGo to the documentation of this file.00001 00006 /* 00007 Copyright (C) 2005 Anders Hedstrom 00008 00009 This program is free software; you can redistribute it and/or 00010 modify it under the terms of the GNU General Public License 00011 as published by the Free Software Foundation; either version 2 00012 of the License, or (at your option) any later version. 00013 00014 This program is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with this program; if not, write to the Free Software 00021 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00022 */ 00023 #ifndef _BITMAP_T_H 00024 #define _BITMAP_T_H 00025 00026 #include <string> 00027 00028 00030 00031 class bitmap_t 00032 { 00033 public: 00034 bitmap_t(size_t number_of_pieces); 00035 ~bitmap_t(); 00036 00037 unsigned char *GetBitmap() { return m_bitmap; } 00038 size_t GetBitmapSize() { return m_bitmap_size; } 00039 00040 void set(size_t piece); 00041 bool IsSet(size_t piece); 00042 00043 void Load(const std::string& ); 00044 void Save(const std::string& ); 00045 00047 size_t GetSet(); 00048 size_t GetNumberOfPieces() { return m_number_of_pieces; } 00049 00050 private: 00051 bitmap_t(const bitmap_t& ) {} // copy constructor 00052 bitmap_t& operator=(const bitmap_t& ) { return *this; } // assignment operator 00053 00054 unsigned char *m_bitmap; 00055 size_t m_bitmap_size; 00056 size_t m_number_of_pieces; 00057 }; 00058 00059 00060 00061 00062 #endif // _BITMAP_T_H |