Annotation of parser3/src/types/pa_vcode_frame.h, revision 1.34

1.2       paf         1: /**    @file
1.3       paf         2:        Parser: @b code_frame write wrapper write context
1.2       paf         3: 
1.32      paf         4:        Copyright (c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com)
1.14      paf         5:        Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
1.1       paf         6: */
                      7: 
                      8: #ifndef PA_VCODE_FRAME_H
                      9: #define PA_VCODE_FRAME_H
1.15      paf        10: 
1.34    ! misha      11: static const char * const IDENT_VCODE_FRAME_H="$Date: 2007/11/29 08:06:12 $";
1.1       paf        12: 
1.9       parser     13: #include "pa_wcontext.h"
1.6       parser     14: #include "pa_vvoid.h"
1.1       paf        15: 
1.34    ! misha      16: /// specialized write wrapper, completely transparent
1.25      paf        17: class VCodeFrame: public WContext {
1.1       paf        18: public: // Value
                     19: 
1.25      paf        20:        override const char* type() const { return "code_frame"; }
1.9       parser     21:        /// VCodeFrame: twice transparent
1.25      paf        22:        override Value* get_element(const String& aname, Value& aself, bool looking_up) { 
1.21      paf        23:                return wcontext.get_element(aname, aself, looking_up); 
1.20      paf        24:        }
1.9       parser     25:        /// VCodeFrame: twice transparent
1.31      paf        26:        override const VJunction* put_element(Value& aself, const String& aname, Value* avalue, bool areplace) { 
1.10      parser     27:                // $hash[^if(1){$.field[]}]
                     28:                // put goes to $hash
1.30      paf        29:                return wcontext.put_element(aself, aname, avalue, areplace); 
1.10      parser     30:        }
1.1       paf        31: 
                     32: 
                     33: public: // usage
                     34: 
1.33      misha      35:        VCodeFrame(WContext& parent): 
                     36:                WContext(0, &parent),
                     37:                wcontext(parent) {}
1.9       parser     38: 
                     39: private:
                     40: 
                     41:        WContext& wcontext;
1.1       paf        42: 
                     43: };
                     44: 
                     45: #endif

E-mail: