PlayaHandleable.hpp
00001
00002
00003
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