Annotation of parser3/src/include/pa_vstring.h, revision 1.12.2.1
1.1 paf 1: /*
1.12.2.1! paf 2: $Id: pa_vstring.h,v 1.12 2001/03/08 17:14:51 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"
1.12.2.1! paf 11: #include "pa_vobject.h"
1.1 paf 12:
1.12.2.1! paf 13: class VString : public VObject {
1.1 paf 14: public: // Value
15:
16: // all: for error reporting after fail(), etc
1.9 paf 17: const char *type() const { return "string"; }
1.12.2.1! paf 18: // value: fvalue
1.10 paf 19: String *get_string() { return &fvalue; };
1.12.2.1! paf 20: // value: fvalue
1.10 paf 21: double get_double() { return atof(fvalue.cstr()); }
1.12.2.1! paf 22: // value: empty or not
1.10 paf 23: bool get_bool() { return fvalue.size()!=0; };
1.1 paf 24:
25: public: // usage
26:
1.12.2.1! paf 27: VString(VClass& aclass) : VObject(aclass),
! 28: fvalue(*new(aclass.pool()) String(aclass.pool())) {
1.2 paf 29: }
30:
1.12.2.1! paf 31: VString(VClass& aclass, String& avalue) : VObject(aclass),
1.10 paf 32: fvalue(avalue) {
1.1 paf 33: }
34:
35: private:
1.10 paf 36: String& fvalue;
1.1 paf 37:
38: };
39:
40: #endif
E-mail: