template <typename T, typename Tree>
bool operator()( T& dest, Tree& container ) const
{
- typename Tree::exempt_ptr ep;
- bool bRet = container.extract_max( ep );
- if ( bRet )
+ typename Tree::exempt_ptr ep( container.extract_max());
+ if ( ep )
dest = *ep;
- return bRet;
+ return !ep.empty();
}
};
template <typename T, typename Tree>
bool operator()( T& dest, Tree& container ) const
{
- typename Tree::exempt_ptr ep;
- bool bRet = container.extract_min( ep );
- if ( bRet )
+ typename Tree::exempt_ptr ep( container.extract_min());
+ if ( ep )
dest = *ep;
- return bRet;
+ return !ep.empty();
}
};
template <typename T, typename Set>
bool operator()( T& dest, Set& container ) const
{
- typename Set::exempt_ptr ep;
- bool bRet = container.extract_max( ep );
- if ( bRet )
+ typename Set::exempt_ptr ep( container.extract_max());
+ if ( ep )
dest = *ep;
- return bRet;
+ return !ep.empty();
}
};
template <typename T, typename Set>
bool operator()( T& dest, Set& container ) const
{
- typename Set::exempt_ptr ep;
- bool bRet = container.extract_min( ep );
- if ( bRet )
+ typename Set::exempt_ptr ep( container.extract_min());
+ if ( ep )
dest = *ep;
- return bRet;
+ return !ep.empty();
}
};