Annotation of parser3/src/include/pa_vstring.h, revision 1.8
1.1 paf 1: /*
1.8 ! paf 2: $Id: pa_vstring.h,v 1.7 2001/03/06 15:02:47 paf Exp $
1.1 paf 3: */
4:
5: #ifndef PA_VSTRING_H
6: #define PA_VSTRING_H
7:
1.6 paf 8: #include <stdlib.h>
9:
1.1 paf 10: #include "pa_value.h"
11:
12: class VString : public Value {
13: public: // Value
14:
15: // all: for error reporting after fail(), etc
1.8 ! paf 16: const char *type() const { return "value"; }
! 17: // value: value
! 18: String *get_string() { return &value; };
! 19: // value: value
! 20: double get_double() { return atof(value.cstr()); }
! 21: // value: empty or not
! 22: bool get_bool() { return value.size()!=0; };
1.1 paf 23:
24: public: // usage
25:
1.2 paf 26: VString(Pool& apool) : Value(apool),
1.8 ! paf 27: value(*new(apool) String(apool)) {
1.2 paf 28: }
29:
1.8 ! paf 30: VString(String& avalue) : Value(avalue.pool()),
! 31: value(avalue) {
1.1 paf 32: }
33:
34: private:
1.8 ! paf 35: String& value;
1.1 paf 36:
37: };
38:
39: #endif
E-mail: