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

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.7     ! paf         8:        $Id: pa_vunknown.h,v 1.6 2001/03/27 16:35:57 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.6       paf        27:        bool is_defined() { 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: