TrinityCore
Loading...
Searching...
No Matches
Trinity::Containers Namespace Reference

Namespaces

namespace  Impl
 

Classes

class  FlatSet
 

Functions

template<class M >
auto MapGetValuePtr (M &map, typename M::key_type const &key)
 
template<class K , class V , template< class, class, class... > class M, class... Rest>
void MultimapErasePair (M< K, V, Rest... > &multimap, K const &key, V const &value)
 
template<class C >
void RandomResize (C &container, std::size_t requestedSize)
 
template<class C , class Predicate >
void RandomResize (C &container, Predicate &&predicate, std::size_t requestedSize)
 
template<class C >
auto SelectRandomContainerElement (C const &container) -> typename std::add_const< decltype(*std::begin(container))>::type &
 
template<class C >
auto SelectRandomWeightedContainerElement (C const &container, std::vector< double > weights) -> decltype(std::begin(container))
 
template<class C , class Fn >
auto SelectRandomWeightedContainerElement (C const &container, Fn weightExtractor) -> decltype(std::begin(container))
 
template<class C >
void RandomShuffle (C &container)
 Reorder the elements of the container randomly.
 
template<class Iterator1 , class Iterator2 >
bool Intersects (Iterator1 first1, Iterator1 last1, Iterator2 first2, Iterator2 last2)
 
template<typename Container , typename Predicate >
void EraseIf (Container &c, Predicate p)
 
template<typename Container , typename NeedleContainer , typename ContainsOperator = bool(std::string const&, std::string const&), typename T = void>
auto FuzzyFindIn (Container const &container, NeedleContainer const &needles, ContainsOperator const &contains=StringContainsStringI, int(*bonus)(decltype((*std::begin(std::declval< Container >()))))=nullptr)
 
template<typename iterator , class end_iterator = iterator>
constexpr IteratorPair< iterator, end_iterator > MakeIteratorPair (iterator first, end_iterator second)
 
template<typename iterator , class end_iterator = iterator>
constexpr IteratorPair< iterator, end_iterator > MakeIteratorPair (std::pair< iterator, end_iterator > iterators)
 
template<class M >
auto MapEqualRange (M &map, typename M::key_type const &key)
 

Function Documentation

◆ EraseIf()

template<typename Container , typename Predicate >
void Trinity::Containers::EraseIf ( Container c,
Predicate  p 
)
private

Definition at line 231 of file Containers.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FuzzyFindIn()

template<typename Container , typename NeedleContainer , typename ContainsOperator = bool(std::string const&, std::string const&), typename T = void>
auto Trinity::Containers::FuzzyFindIn ( Container const &  container,
NeedleContainer const &  needles,
ContainsOperator const &  contains = StringContainsStringI,
int(*)(decltype((*std::begin(std::declval< Container >()))))  bonus = nullptr 
)

Definition at line 30 of file FuzzyFind.h.

◆ Intersects()

template<class Iterator1 , class Iterator2 >
bool Trinity::Containers::Intersects ( Iterator1  first1,
Iterator1  last1,
Iterator2  first2,
Iterator2  last2 
)
private

Definition at line 184 of file Containers.h.

◆ MakeIteratorPair() [1/2]

template<typename iterator , class end_iterator = iterator>
constexpr IteratorPair< iterator, end_iterator > Trinity::Containers::MakeIteratorPair ( iterator  first,
end_iterator  second 
)
constexprprivate

Definition at line 49 of file IteratorPair.h.

+ Here is the caller graph for this function:

◆ MakeIteratorPair() [2/2]

template<typename iterator , class end_iterator = iterator>
constexpr IteratorPair< iterator, end_iterator > Trinity::Containers::MakeIteratorPair ( std::pair< iterator, end_iterator >  iterators)
constexprprivate

Definition at line 55 of file IteratorPair.h.

◆ MapEqualRange()

template<class M >
auto Trinity::Containers::MapEqualRange ( M &  map,
typename M::key_type const &  key 
)
private

Definition at line 61 of file IteratorPair.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MapGetValuePtr()

template<class M >
auto Trinity::Containers::MapGetValuePtr ( M &  map,
typename M::key_type const &  key 
)

Returns a pointer to mapped value (or the value itself if map stores pointers)

Definition at line 29 of file MapUtils.h.

+ Here is the caller graph for this function:

◆ MultimapErasePair()

template<class K , class V , template< class, class, class... > class M, class... Rest>
void Trinity::Containers::MultimapErasePair ( M< K, V, Rest... > &  multimap,
K const &  key,
V const &  value 
)

Definition at line 39 of file MapUtils.h.

+ Here is the caller graph for this function:

◆ RandomResize() [1/2]

template<class C , class Predicate >
void Trinity::Containers::RandomResize ( C &  container,
Predicate &&  predicate,
std::size_t  requestedSize 
)
private

First use predicate filter

Definition at line 90 of file Containers.h.

+ Here is the call graph for this function:

◆ RandomResize() [2/2]

template<class C >
void Trinity::Containers::RandomResize ( C &  container,
std::size_t  requestedSize 
)
private

Definition at line 66 of file Containers.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RandomShuffle()

template<class C >
void Trinity::Containers::RandomShuffle ( C &  container)
inlineprivate

Reorder the elements of the container randomly.

Parameters
containerContainer to reorder

Definition at line 166 of file Containers.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SelectRandomContainerElement()

template<class C >
auto Trinity::Containers::SelectRandomContainerElement ( C const &  container) -> typename std::add_const<decltype(*std::begin(container))>::type&
inlineprivate

Definition at line 108 of file Containers.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SelectRandomWeightedContainerElement() [1/2]

template<class C , class Fn >
auto Trinity::Containers::SelectRandomWeightedContainerElement ( C const &  container,
Fn  weightExtractor 
) -> decltype(std::begin(container))
private

Definition at line 141 of file Containers.h.

+ Here is the call graph for this function:

◆ SelectRandomWeightedContainerElement() [2/2]

template<class C >
auto Trinity::Containers::SelectRandomWeightedContainerElement ( C const &  container,
std::vector< double >  weights 
) -> decltype(std::begin(container))
inlineprivate

Definition at line 125 of file Containers.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: