PlayaHandleable.hpp

00001 /* @HEADER@ */
00002 //   
00003 /* @HEADER@ */
00004 
00005 #ifndef PLAYA_HANDLEABLE_HPP
00006 #define PLAYA_HANDLEABLE_HPP
00007 
00008 #include "PlayaDefs.hpp"
00009 #include "Teuchos_RefCountPtr.hpp"
00010 
00011 #define GET_RCP(Base) \
00012  \
00013   virtual Teuchos::RCP<Base > getRcp() {return rcp(this);}
00014 
00015 namespace Playa
00016 {
00017 using namespace Teuchos;
00018 
00035 template <class Base>
00036 class Handleable
00037 {
00038 public:
00040   virtual ~Handleable(){;}
00041 
00043   virtual RCP<Base> getRcp() = 0 ;
00044     
00045 };
00046   
00047 }
00048 
00049 
00050 
00051 
00052 #endif

doxygen