feat(Core/Containers): MapGetValuePtr (#6111)
* feat(Core/Containers): MapGetValuePtr
* Added MapGetValuePtr to allow writing `if (Val* v = MapGetValuePtr(map, key))`
(cherry picked from commit a1e3b54e07)
Co-Authored-By: Shauren <shauren.trinity@gmail.com>
This commit is contained in:
parent
a9ed64e600
commit
07d0f654d5
1 changed files with 10 additions and 0 deletions
|
|
@ -165,6 +165,16 @@ namespace acore::Containers
|
|||
return SelectRandomWeightedContainerElement(container, weights);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a pointer to mapped value (or the value itself if map stores pointers)
|
||||
*/
|
||||
template<class M>
|
||||
inline auto MapGetValuePtr(M& map, typename M::key_type const& key) -> decltype(AddressOrSelf(map.find(key)->second))
|
||||
{
|
||||
auto itr = map.find(key);
|
||||
return itr != map.end() ? AddressOrSelf(itr->second) : nullptr;
|
||||
}
|
||||
|
||||
/*
|
||||
* @fn void acore::Containers::RandomShuffle(C& container)
|
||||
*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue