Annotation of parser3/src/include/pa_vhash.h, revision 1.11
1.1 paf 1: /*
1.11 ! paf 2: $Id: pa_vhash.h,v 1.10.2.1 2001/03/08 17:39:08 paf Exp $
1.1 paf 3: */
4:
5: #ifndef PA_VHASH_H
6: #define PA_VHASH_H
7:
8: #include "pa_value.h"
1.2 paf 9: #include "pa_hash.h"
1.1 paf 10:
11: class VHash : public Value {
12: public: // value
13:
14: // all: for error reporting after fail(), etc
1.7 paf 15: const char *type() const { return "fvalue"; }
1.1 paf 16:
1.11 ! paf 17: // value: (key)=value
1.6 paf 18: Value *get_element(const String& name) {
1.7 paf 19: return static_cast<Value *>(fvalue.get(name));
1.1 paf 20: }
21:
1.11 ! paf 22: // value: (key)=value
1.1 paf 23: void put_element(const String& name, Value *value) {
1.7 paf 24: fvalue.put(name, value);
1.1 paf 25: }
1.4 paf 26:
1.11 ! paf 27: // value: size!=0
1.7 paf 28: bool get_bool() { return fvalue.size()!=0; }
1.1 paf 29:
30: public: // usage
31:
1.7 paf 32: VHash(Pool& apool) : Value(apool),
1.10 paf 33: fvalue(apool) {}
1.1 paf 34:
35: private:
1.10 paf 36: Hash fvalue;
1.1 paf 37: };
38:
39: #endif
E-mail: