Consider the following member functions. Will it lead to a deadlock?
void foo::insert(item_ptr item)
{
     lock_guard<mutex> lock(mu_);
     items_.insert(item);
} 
void foo::insert(vector<item_ptr> items)
{
      lock_guard<mutex> lock(mu_); // will this lead
                                                        // to deadlock?
      for(auto item:items)
            insert(item);
}