29 #include <boost/utility.hpp>
31 #include "WProgressCombiner.h"
52 boost::shared_lock< boost::shared_mutex > rlock;
53 rlock = boost::shared_lock< boost::shared_mutex >(
m_updateLock );
58 unsigned int numPendingChildren = 0;
61 for( std::set< boost::shared_ptr< WProgress > >::iterator i =
m_children.begin(); i !=
m_children.end(); ++i )
67 if( ( *i )->isPending() )
76 if( numPendingChildren )
78 m_progress /=
static_cast< float >( numPendingChildren );
87 boost::shared_lock< boost::shared_mutex > rlock = boost::shared_lock< boost::shared_mutex >(
m_updateLock );
90 bool addComma =
false;
92 for( std::set< boost::shared_ptr< WProgress > >::const_iterator i =
m_children.begin(); i !=
m_children.end(); ++i )
94 if( !( !( *i )->isPending() && excludeFinished ) )
102 ss << ( *i )->getName();
115 boost::unique_lock<boost::shared_mutex> lock = boost::unique_lock<boost::shared_mutex>(
m_updateLock );
123 boost::unique_lock<boost::shared_mutex> lock = boost::unique_lock<boost::shared_mutex>(
m_updateLock );
132 boost::unique_lock<boost::shared_mutex> lock = boost::unique_lock<boost::shared_mutex>(
m_updateLock );
135 for( std::set< boost::shared_ptr< WProgress > >::iterator i =
m_children.begin(); i !=
m_children.end(); ++i )