Visitable.hpp

Go to the documentation of this file.
00001 #ifndef wali_VISITABLE_GUARD
00002 #define wali_VISITABLE_GUARD 1
00003 
00004 /*!
00005  * @author Nicholas Kidd
00006  */
00007 
00008 #include "wali/Common.hpp"
00009 
00010 namespace wali
00011 {
00012   namespace witness
00013   {
00014     class Visitor;
00015 
00016     class Visitable
00017     {
00018       public:
00019         virtual ~Visitable() {}
00020 
00021         virtual void accept( Visitor& v, bool visitOnce=false ) = 0;
00022     };
00023 
00024   } // namespace witness
00025 
00026 } // namespace wali
00027 
00028 #endif  // wali_VISITABLE_GUARD
00029