01: /* 02: ** Copyright (C) 1999, 2000, 2001 Lorenzo Bettini 03: ** 04: ** This program is free software; you can redistribute it and/or modify 05: ** it under the terms of the GNU General Public License as published by 06: ** the Free Software Foundation; either version 3 of the License, or 07: ** (at your option) any later version. 08: ** 09: ** This program is distributed in the hope that it will be useful, 10: ** but WITHOUT ANY WARRANTY; without even the implied warranty of 11: ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12: ** GNU General Public License for more details. 13: ** 14: ** You should have received a copy of the GNU General Public License 15: ** along with this program; if not, write to the Free Software 16: ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17: ** 18: */ 19: 20: // this file also contains the definition of mysum as a #define 21: 22: // textgenerator.h : Text Generator class && 23: 24: #ifndef _TEXTGEN_H 25: #define _TEXTGEN_H 26: 27: #define foo(x) (x + 1) 28: 29: #define mysum myfunbody 30: 31: #include <iostream.h> // for cerr 32: 33: #include "genfun.h" /* for generating functions */ 34: 35: class TextGenerator { 36: public : 37: virtual void generate( const char *s ) const; generate -> test_refs.cpp:3 generate -> test_refs.cpp:8 38: virtual void generate( const char *s, int start, int end ) const; generate -> test_refs.cpp:3 generate -> test_refs.cpp:8 39: virtual void generateln( const char *s ) const; 40: virtual void generateEntire( const char *s ) const; 41: virtual void startTextGeneration() const {} 42: virtual void endTextGeneration() const {} 43: virtual void beginText( const char *s ) const; 44: virtual void endText( const char *s ) const; 45: } ; 46: 47: // Decorator 48: class TextDecorator : public TextGenerator { 49: protected : 50: TextGenerator *decorated ; 51: 52: public : 53: TextDecorator( TextGenerator *t ); TextDecorator -> test_refs.cpp:42 TextDecorator -> test_refs.h:48 54: 55: virtual void startTextGeneration() const; startTextGeneration -> test_refs.cpp:46 startTextGeneration -> test_refs.cpp:53 startTextGeneration -> test_refs.h:41 56: virtual void endTextGeneration() const; endTextGeneration -> test_refs.cpp:60 endTextGeneration -> test_refs.h:42 57: 58: // pure virtual functions 59: virtual void startDecorate() const = 0 ; 60: virtual void endDecorate() const = 0 ; 61: } ; 62: 63: #endif // _TEXTGEN_H 64: