Annotation of parser3/src/types/pa_vunknown.h, revision 1.8

1.7       paf         1: /** @file
                      2:        Parser: unknown Parser class.
                      3: 
1.1       paf         4:        Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
1.7       paf         5: 
1.2       paf         6:        Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)
1.1       paf         7: 
1.8     ! paf         8:        $Id: pa_vunknown.h,v 1.7 2001/03/28 14:41:33 paf Exp $
1.1       paf         9: */
                     10: 
                     11: #ifndef PA_VUNKNOWN_H
                     12: #define PA_VUNKNOWN_H
                     13: 
                     14: #include "pa_value.h"
1.3       paf        15: #include "pa_globals.h"
1.1       paf        16: 
1.7       paf        17: /// value of type 'unknown'. ex: usually $sjfklsjfksjdfk has this type
1.1       paf        18: class VUnknown : public Value {
                     19: public: // Value
                     20: 
                     21:        // all: for error reporting after fail(), etc
                     22:        const char *type() const { return "unknown"; }
                     23: 
                     24:        // unknown: ""
                     25:        const String *get_string() { return empty_string; }
                     26:        // unknown: false
1.8     ! paf        27:        bool is_defined() const { return false; }
1.7       paf        28:        // VUnknown: 0
                     29:        double as_double() { return 0; }
1.4       paf        30:        // unknown: this
1.6       paf        31:        Value *as_expr_result(bool return_string_as_is=false) { return this; }
                     32: 
1.1       paf        33:        // unknown: false
1.6       paf        34:        bool as_bool() { return false; }
1.1       paf        35: 
                     36: public: // usage
                     37: 
                     38:        VUnknown(Pool& apool) : Value(apool) {
                     39:        }
                     40: 
                     41: };
                     42: 
                     43: #endif

E-mail: