@dumganhar 
Hi , I wrote a sample . 

template<typename InputIterator> void
removeObjectsForKeys( InputIterator first , InputIterator last ) 
{
      std::for_each( first , last , [this](const K& key) {
             removeObjectForKey( key );
      } );
}

//// Because all of the iterator in STL have same interface "operator++()" / "operator*()" / "operator->()" , called std::input_iterator_catagory