|
| 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.
|
| |
| template<std::ranges::random_access_range C> |
| void | Trinity::Containers::RandomShuffle (C &container) |
| | Reorder the elements of the container randomly.
|
| |
| 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 > |
| constexpr void | Trinity::Containers::Impl::EraseIfMoveAssignable (Container &c, Predicate &p) |
| |
| template<typename Container , typename Predicate > |
| constexpr 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()); } |
| constexpr void | Trinity::Containers::EraseIf (Container &c, Predicate p) |
| |
| template<typename T > |
| constexpr decltype(auto) | Trinity::Containers::EnsureWritableVectorIndex (std::vector< T > &vec, typename std::vector< T >::size_type i) |
| |
| template<typename T > |
| constexpr decltype(auto) | Trinity::Containers::EnsureWritableVectorIndex (std::vector< T > &vec, typename std::vector< T >::size_type i, T const &resizeDefault) |
| |