28 #ifndef _util_keyval_keyval_h
29 #define _util_keyval_keyval_h
42 #include <util/class/class.h>
43 #include <util/keyval/keyvalval.h>
74 enum {MaxKeywordLength = 256};
75 enum KeyValError { OK, HasNoValue, WrongType,
76 UnknownKeyword, OperationFailed };
81 void operator=(
const KeyVal&);
90 void seterror(KeyValValue::KeyValValueError err);
134 int count(
const char* =0);
175 int exists(
const char* key,
int i);
176 int count(
const char* key,
int i);
225 int exists(
const char*,
int,
int);
226 int count(
const char*,
int,
int);
235 int intvalue(
const char* key,
int,
int,
237 size_t sizevalue(
const char* key,
int,
int,
247 int count(
int i,
int j);
274 int Va_exists(
const char* key,
int nindex,...);
275 int Va_count(
const char* key,
int nindex,...);
276 int Va_booleanvalue(
const char* key,
int nindex,...);
277 double Va_doublevalue(
const char* key,
int nindex,...);
278 float Va_floatvalue(
const char* key,
int nindex,...);
279 char Va_charvalue(
const char* key,
int nindex,...);
280 int Va_intvalue(
const char* key,
int nindex,...);
281 size_t Va_sizevalue(
const char* key,
int nindex,...);
282 char* Va_pcharvalue(
const char* key,
int nindex,...);
283 std::string Va_stringvalue(
const char* key,
int nindex,...);
290 const char*
errormsg(KeyValError err);
317 std::map<std::string,Ref<KeyValValue> > _map;
333 void assign(
const char* key,
double val);
334 void assignboolean(
const char* key,
int val);
335 void assign(
const char* key,
float val);
336 void assign(
const char* key,
char val);
337 void assign(
const char* key,
int val);
338 void assign(
const char* key,
const char* val);
356 std::map<std::string,Ref<KeyValValue> > _map;
368 virtual const char*
stringrep(
const char *key) = 0;
371 virtual const char*
classname(
const char*);
392 enum { MaxKeyVal = 4 };
468 void setup(
const char*,
int,
int,
int,
int,
int);
469 int getnewprefixkey(
const char*key,
char*newkey);
473 int key_exists(
const char*);
532 void read(
const char*);
534 void read(std::istream&);