The functor may change non-key fields of the \p item.
While the functor \p f is calling the item \p item is locked.
The functor may change non-key fields of the \p item.
While the functor \p f is calling the item \p item is locked.
Returns <tt> std::pair<bool, bool> </tt> where \p first is true if operation is successfull,
\p second is true if new item has been added or \p false if the item with \p key
Returns <tt> std::pair<bool, bool> </tt> where \p first is true if operation is successfull,
\p second is true if new item has been added or \p false if the item with \p key
The functor may change non-key fields of \p item.
While the functor \p f is calling the item found \p item is locked.
The functor may change non-key fields of \p item.
While the functor \p f is calling the item found \p item is locked.
The functor may change non-key fields of \p item.
While the functor \p f is calling the item found \p item is locked.
The functor may change non-key fields of \p item.
While the functor \p f is calling the item found \p item is locked.
if ( pos.pCur != &m_Tail && cmp( *node_traits::to_value_ptr( *pos.pCur ), val ) == 0 ) {
// key already in the list
if ( pos.pCur != &m_Tail && cmp( *node_traits::to_value_ptr( *pos.pCur ), val ) == 0 ) {
// key already in the list
link_checker::is_empty( node_traits::to_node_ptr( val ) );
link_node( node_traits::to_node_ptr( val ), pos.pPred, pos.pCur );
link_checker::is_empty( node_traits::to_node_ptr( val ) );
link_node( node_traits::to_node_ptr( val ), pos.pPred, pos.pCur );
search( pHead, val, pos, cmp );
if ( pos.pCur != &m_Tail ) {
search( pHead, val, pos, cmp );
if ( pos.pCur != &m_Tail ) {
search( pHead, val, pos, cmp );
if ( pos.pCur != &m_Tail ) {
search( pHead, val, pos, cmp );
if ( pos.pCur != &m_Tail ) {
if ( cmp( *node_traits::to_value_ptr( *pos.pCur ), val ) == 0 )
{
return iterator( pos.pCur );
if ( cmp( *node_traits::to_value_ptr( *pos.pCur ), val ) == 0 )
{
return iterator( pos.pCur );