mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-21 20:56:23 +00:00
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:
@@ -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)
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user