kconfigdata.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _KCONFIGDATA_H
00023 #define _KCONFIGDATA_H
00024
00025 #include <qmap.h>
00026
00031 struct KEntry
00032 {
00033 KEntry()
00034 : mValue(0), bDirty(false), bNLS(false),
00035 bGlobal(false), bImmutable(false), bDeleted(false), bExpand(false) {}
00036 QCString mValue;
00037 bool bDirty :1;
00038 bool bNLS :1;
00039 bool bGlobal:1;
00040 bool bImmutable:1;
00041 bool bDeleted:1;
00042 bool bExpand:1;
00043 };
00044
00050 struct KEntryKey
00051 {
00052 KEntryKey(const QCString& _group = 0,
00053 const QCString& _key = 0)
00054 : mGroup(_group), mKey(_key), bLocal(false), bDefault(false),
00055 c_key(_key.data()) {}
00056 QCString mGroup;
00057 QCString mKey;
00058 bool bLocal :1;
00059 bool bDefault:1;
00060
00061 const char *c_key;
00062 };
00063
00068 inline bool operator <(const KEntryKey &k1, const KEntryKey &k2)
00069 {
00070
00071 int result=qstrcmp(k1.mGroup.data(),k2.mGroup.data());
00072 if (result!=0)
00073 return (result<0);
00074
00075 if (!k1.c_key && k2.c_key)
00076 return true;
00077
00078 result = 0;
00079 if (k1.c_key && k2.c_key)
00080 result = strcmp(k1.c_key, k2.c_key);
00081 if (result != 0)
00082 return result < 0;
00083 if (!k1.bLocal && k2.bLocal)
00084 return true;
00085 if (k1.bLocal && !k2.bLocal)
00086 return false;
00087 return (!k1.bDefault && k2.bDefault);
00088 }
00089
00096 typedef QMap<KEntryKey, KEntry> KEntryMap;
00097
00102 typedef QMap<KEntryKey, KEntry>::Iterator KEntryMapIterator;
00103
00110 typedef QMap<KEntryKey, KEntry>::ConstIterator KEntryMapConstIterator;
00111
00112 #endif
This file is part of the documentation for kdelibs Version 3.1.5.