Go to the documentation of this file.00001 #ifndef wali_VISITOR_GUARD
00002 #define wali_VISITOR_GUARD 1
00003
00004
00005
00006
00007 #include "wali/Common.hpp"
00008
00009 namespace wali
00010 {
00011 namespace witness
00012 {
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 class Witness;
00027 class WitnessExtend;
00028 class WitnessCombine;
00029 class WitnessRule;
00030 class WitnessTrans;
00031 class WitnessMerge;
00032
00033 class Visitor
00034 {
00035 public:
00036 virtual ~Visitor() {}
00037
00038
00039
00040
00041 virtual bool visit( Witness * w );
00042
00043
00044
00045
00046 virtual bool visitExtend( WitnessExtend * w );
00047
00048
00049
00050
00051 virtual bool visitCombine( WitnessCombine * w );
00052
00053
00054
00055
00056 virtual bool visitRule( WitnessRule * w );
00057
00058
00059
00060
00061 virtual bool visitTrans( WitnessTrans * w );
00062
00063
00064
00065
00066 virtual bool visitMerge( WitnessMerge * w );
00067
00068 };
00069
00070 }
00071
00072 }
00073
00074 #endif // wali_VISITOR_GUARD
00075