00001 #include "FastShowerUtils/Pinger/ComplexPinger.h" 00002 #include "FastShowerUtils/IDebug.h" 00003 #include <algorithm> 00004 00005 namespace FastShower{ 00006 IPinger* ComplexPinger::clone() const { 00007 IPinger* p = new ComplexPinger(*this); 00008 return p; 00009 } 00011 void ComplexPinger::action(const IDebug* d){ 00012 cout<<indent()<<d->name()<< endl; 00013 IDebug::Cpts parts; 00014 d->components(parts); 00015 ComplexPinger q(*this); 00016 ++(*this); 00017 std::for_each(parts.begin(), parts.end(), PingEach(*this) ); 00018 (*this)=q; 00019 } 00020 } 00021 00022 00023