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

1.7       paf         1: /** @file
1.8     ! paf         2:        Parser: @b bool class decls.
1.7       paf         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_vbool.h,v 1.7 2001/04/26 14:55:34 paf Exp $
1.1       paf         9: */
                     10: 
                     11: #ifndef PA_VBOOL_H
                     12: #define PA_VBOOL_H
                     13: 
1.3       paf        14: #include "pa_common.h"
1.1       paf        15: #include "pa_value.h"
                     16: 
                     17: #define MAX_BOOL_AS_STRING 20
                     18: 
1.4       paf        19: /// VBool
1.1       paf        20: class VBool : public Value {
                     21: public: // Value
                     22: 
1.7       paf        23:        /// all: for error reporting after fail(), etc
1.1       paf        24:        const char *type() const { return "bool"; }
1.7       paf        25:        /// VBool: this
1.6       paf        26:        Value *as_expr_result(bool return_string_as_is=false) { return this; }
1.7       paf        27:        /// VBool: fbool
1.6       paf        28:        bool as_bool() { return fbool; }
1.7       paf        29:        /// VBool: fbool
1.6       paf        30:        double as_double() { return fbool; }
1.1       paf        31: 
                     32: public: // usage
                     33: 
                     34:        VBool(Pool& apool, bool abool) : Value(apool), 
                     35:                fbool(abool) {
                     36:        }
                     37: 
                     38: private:
                     39: 
                     40:        bool fbool;
                     41: 
                     42: };
                     43: 
                     44: #endif

E-mail: