KMIME Library
boolflags.h
Go to the documentation of this file.00001 /* 00002 Copyright (c) 1999-2001 the KMime authors. 00003 See file AUTHORS for details 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public License 00016 along with this library; see the file COPYING.LIB. If not, write to 00017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00018 Boston, MA 02110-1301, USA. 00019 */ 00031 #ifndef __KMIME_BOOLFLAGS_H__ 00032 #define __KMIME_BOOLFLAGS_H__ 00033 00034 #include "kmime_export.h" 00035 00036 namespace KMime { 00037 00045 class KMIME_EXPORT BoolFlags { 00046 00047 public: 00051 BoolFlags() { clear(); } 00052 00056 ~BoolFlags() {} 00057 00065 void set( unsigned int i, bool b=true ); 00066 00075 bool get( unsigned int i ); 00076 00080 void clear() { mBits[0]=0; mBits[1]=0; } 00081 00085 unsigned char *data() { return mBits; } 00086 00087 private: 00091 unsigned char mBits[2]; //space for 16 flags 00092 }; 00093 00094 } //namespace KMime 00095 00096 #endif // __KMIME_BOOLFLAGS_H__