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: