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: