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: