Go to the documentation of this file.00001
00002
00003 #ifndef TAO_ESF_IMMEDIATE_CHANGES_CPP
00004 #define TAO_ESF_IMMEDIATE_CHANGES_CPP
00005
00006 #include "orbsvcs/ESF/ESF_Immediate_Changes.h"
00007
00008 #if ! defined (__ACE_INLINE__)
00009 #include "orbsvcs/ESF/ESF_Immediate_Changes.inl"
00010 #endif
00011
00012 #include "orbsvcs/ESF/ESF_Worker.h"
00013
00014 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00015
00016
00017
00018 template<class PROXY, class C, class ITERATOR, class ACE_LOCK>
00019 TAO_ESF_Immediate_Changes<PROXY,C,ITERATOR,ACE_LOCK>::
00020 TAO_ESF_Immediate_Changes (void)
00021 {
00022 }
00023
00024 template<class PROXY, class C, class ITERATOR, class ACE_LOCK>
00025 TAO_ESF_Immediate_Changes<PROXY,C,ITERATOR,ACE_LOCK>::
00026 TAO_ESF_Immediate_Changes (const C &collection)
00027 : collection_ (collection)
00028 {
00029 }
00030
00031 template<class PROXY, class C, class ITERATOR, class ACE_LOCK> void
00032 TAO_ESF_Immediate_Changes<PROXY,C,ITERATOR,ACE_LOCK>::
00033 for_each (TAO_ESF_Worker<PROXY> *worker)
00034 {
00035 ACE_GUARD (ACE_LOCK, ace_mon, this->lock_);
00036
00037 worker->set_size(this->collection_.size());
00038 ITERATOR end = this->collection_.end ();
00039 for (ITERATOR i = this->collection_.begin (); i != end; ++i)
00040 {
00041 worker->work ((*i));
00042 }
00043 }
00044
00045 TAO_END_VERSIONED_NAMESPACE_DECL
00046
00047 #endif