Reputation: 4506
Is there an easier way to check whether an std::unordered_map::insert
call succeeded than writing this mammoth block of code?
std::pair< T1, T2 > pair(val1, val2);
std::pair< std::unordered_map< T1, T2 >::const_iterator, bool> ret =
_tileTypes.insert(pair);
if(!ret.second) {
// insert did not succeed
}
Upvotes: 6
Views: 711
Reputation: 70929
How about just:
if(!_tileTypes.insert(std::make_pair(val1, vla2)).second) {
// insert did not succeed
}
Upvotes: 11
Reputation: 272507
if (!_tileTypes.insert(pair).second)
?
Alternatively, typedefs can be useful to tidy this sort of thing up.
Also, if you're using C++11, then you can use the auto
keyword to infer the type:
auto ret = _tileTypes.insert(pair);
Upvotes: 10