[MultiIndex] insert with and without position hint
Hello,
For some reason, the "hinted" version of insert() returns just an
iterator, while the "unhinted" one returns pair:
std::pair
Igor R
For some reason, the "hinted" version of insert() returns just an iterator, while the "unhinted" one returns pair: std::pair
insert(const value_type& x); iterator insert(iterator position,const value_type& x);
The only reson for this dissimilarity is that standard (unique) associative containers are defined the same way.
I've got a container with 1 ordered unique index. From one hand, I have to know whether the insertion was succesful, but from the other hand, 99% of the objects are inserted in their natural ascending order, so I use the hinted version: container_.insert(container_.end(), newObj); So my question is whether there's any performance benefit of the "hinted" version in such case, or I can move to the simple one w/o any performance loss?
There should be a performance penalty associated to not using hinted insertion (if you want to know the impact of this penalty on your particular app I suggest you do some profiling). An easy and cheap way to know whether the insertion was succesful is to check if size() has increased. Joaquín M López Muñoz Telefónica, Investigación y Desarrollo
participants (2)
-
Igor R
-
Joaquin M Lopez Munoz