|
template<std::ranges::forward_range C> |
void | Trinity::Containers::RandomResize (C &container, std::size_t requestedSize) |
|
template<std::ranges::forward_range C, invocable_r< bool, std::ranges::range_reference_t< C > > Predicate> |
void | Trinity::Containers::RandomResize (C &container, Predicate &&predicate, std::size_t requestedSize) |
|
template<std::ranges::input_range C> |
auto | Trinity::Containers::SelectRandomContainerElement (C const &container) -> std::add_const_t< decltype(*std::ranges::begin(container))> & |
|
template<std::ranges::input_range C> |
auto | Trinity::Containers::SelectRandomWeightedContainerElement (C const &container, std::span< double > const &weights) -> decltype(std::ranges::begin(container)) |
|
template<std::ranges::input_range C, invocable_r< double, std::ranges::range_reference_t< C > > Fn> |
auto | Trinity::Containers::SelectRandomWeightedContainerElement (C const &container, Fn weightExtractor) -> decltype(std::ranges::begin(container)) |
|
template<std::random_access_iterator Iterator> |
void | Trinity::Containers::RandomShuffle (Iterator begin, Iterator end) |
| Reorder the elements of the iterator range randomly. More...
|
|
template<std::ranges::random_access_range C> |
void | Trinity::Containers::RandomShuffle (C &container) |
| Reorder the elements of the container randomly. More...
|
|
template<std::input_iterator Iterator1, std::sentinel_for< Iterator1 > Sentinel1, std::input_iterator Iterator2, std::sentinel_for< Iterator2 > Sentinel2> |
constexpr bool | Trinity::Containers::Intersects (Iterator1 first1, Sentinel1 last1, Iterator2 first2, Sentinel2 last2) |
|
template<std::input_iterator Iterator1, std::sentinel_for< Iterator1 > Sentinel1, std::input_iterator Iterator2, std::sentinel_for< Iterator2 > Sentinel2, invocable_r< bool, std::iter_reference_t< Iterator1 >, std::iter_reference_t< Iterator2 > > Predicate> |
constexpr bool | Trinity::Containers::Intersects (Iterator1 first1, Sentinel1 last1, Iterator2 first2, Sentinel2 last2, Predicate &&equalPred) |
|
template<typename Container , typename Predicate > |
void | Trinity::Containers::Impl::EraseIfMoveAssignable (Container &c, Predicate p) |
|
template<typename Container , typename Predicate > |
void | Trinity::Containers::Impl::EraseIfNotMoveAssignable (Container &c, Predicate p) |
|
template<std::ranges::forward_range Container, invocable_r< bool, std::ranges::range_reference_t< Container > > Predicate>
requires requires { c.erase(c.begin(), c.end()); } |
void | Trinity::Containers::EraseIf (Container &c, Predicate p) |
|
template<typename T > |
decltype(auto) | Trinity::Containers::EnsureWritableVectorIndex (std::vector< T > &vec, typename std::vector< T >::size_type i) |
|
template<typename T > |
decltype(auto) | Trinity::Containers::EnsureWritableVectorIndex (std::vector< T > &vec, typename std::vector< T >::size_type i, T const &resizeDefault) |
|