00001 #include "FastShowerUtils/IInTailPtr.h" 00002 #include <iostream> 00003 namespace FastShower{ 00004 // 00005 IInTailPtr::IInTailPtr(IInTail* ptr, std::string s): 00006 DebugBase(s),m_pointee(ptr){} 00007 IInTailPtr::IInTailPtr(const IInTailPtr &rhs): IInTail(rhs), DebugBase(rhs){ 00008 m_pointee= rhs.m_pointee; 00009 } 00010 IInTailPtr& IInTailPtr::operator=(const IInTailPtr& rhs){ 00011 00012 if (this == &rhs ) return *this; 00013 00014 IInTail::operator=(rhs); 00015 DebugBase::operator=(rhs); 00016 m_pointee = rhs.m_pointee; 00017 00018 return *this; 00019 } 00020 00024 00025 bool IInTailPtr::operator()(const PolyArgs& pa) const{ 00026 return m_pointee->operator()(pa); 00027 } 00028 IInTail* IInTailPtr::clone() const{ 00029 IInTailPtr* iptr = new IInTailPtr(*this); 00030 return iptr; 00031 } 00035 void IInTailPtr::ping(IPinger& pinger) const{DebugBase::ping(pinger);} 00036 std::string IInTailPtr::name() const {return DebugBase::name();} 00037 void IInTailPtr::components(IDebug::Cpts& v) const { 00038 return m_pointee->components(v); 00039 } 00040 } 00041 00042