AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
Containers.h File Reference
#include "Define.h"
#include "Random.h"
#include <algorithm>
#include <iterator>
#include <stdexcept>
#include <type_traits>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

class  Acore::CheckedBufferOutputIterator< T >
 

Namespaces

namespace  Acore
 
namespace  Acore::Containers
 

Functions

template<class T >
constexpr T * Acore::AddressOrSelf (T *ptr)
 
template<class T >
constexpr T * Acore::AddressOrSelf (T &not_ptr)
 
template<class C >
void Acore::Containers::RandomResize (C &container, std::size_t requestedSize)
 
template<class C , class Predicate >
void Acore::Containers::RandomResize (C &container, Predicate &&predicate, std::size_t requestedSize)
 
template<class C >
auto Acore::Containers::SelectRandomContainerElement (C const &container) -> typename std::add_const< decltype(*std::begin(container))>::type &
 
template<class C , class Predicate >
auto Acore::Containers::SelectRandomContainerElementIf (C const &container, Predicate &&predicate) -> typename std::add_const< decltype(*std::begin(container))>::type &
 
template<class C >
auto Acore::Containers::SelectRandomWeightedContainerElement (C const &container, std::vector< double > weights) -> decltype(std::begin(container))
 
template<class C , class Fn >
auto Acore::Containers::SelectRandomWeightedContainerElement (C const &container, Fn weightExtractor) -> decltype(std::begin(container))
 
template<class M >
auto Acore::Containers::MapGetValuePtr (M &map, typename M::key_type const &key) -> decltype(AddressOrSelf(map.find(key) ->second))
 
template<class C >
void Acore::Containers::RandomShuffle (C &container)
 
template<class K , class V , template< class, class, class... > class M, class... Rest>
void Acore::Containers::MultimapErasePair (M< K, V, Rest... > &multimap, K const &key, V const &value)
 
void Acore::Containers::EraseIf (Container &c, Predicate p)