Annotation of parser3/src/include/pa_vstring.h, revision 1.6

1.1       paf         1: /*
1.6     ! paf         2:   $Id: pa_vstring.h,v 1.5 2001/02/25 13:23:01 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.3       paf        16:        const char *type() const { return "String"; }
1.1       paf        17:        // string: value
1.5       paf        18:        String *get_string() { return &string; };
1.1       paf        19:        // string: value
1.3       paf        20:        //void put_string(String *astring) { string=astring; }
1.6     ! paf        21: 
        !            22:        // string: value
        !            23:        double get_double() { return atof(string.cstr()); }
1.1       paf        24: 
                     25: public: // usage
                     26: 
1.2       paf        27:        VString(Pool& apool) : Value(apool), 
1.5       paf        28:                string(*new(apool) String(apool)) {
1.2       paf        29:        }
                     30: 
1.5       paf        31:        VString(String& astring) : Value(astring.pool()), 
1.1       paf        32:                string(astring) {
                     33:        }
                     34: 
                     35: private:
1.5       paf        36:        String& string;
1.1       paf        37: 
                     38: };
                     39: 
                     40: #endif

E-mail: