diff options
author | joschiwald <joschiwald.trinity@gmail.com> | 2016-04-24 01:15:56 +0200 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2016-04-24 20:19:42 +0200 |
commit | 803473fb647581319b22cc4461cde36bfb559617 (patch) | |
tree | 05a4de9e3d1b280cd47f575ddb69f26584300c55 /src/common/Utilities/Containers.h | |
parent | 2db839f6761d867d8066c77452292e08a9d30e78 (diff) |
Core/Utils: replaced std::random_shuffle with our own implementation using SFMT random generator
(cherry picked from commit 9e371b766c75faf899cbbe24515b8b5c01716a50)
Diffstat (limited to 'src/common/Utilities/Containers.h')
-rw-r--r-- | src/common/Utilities/Containers.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/common/Utilities/Containers.h b/src/common/Utilities/Containers.h index e8a40ede4c7..554dcb1b3de 100644 --- a/src/common/Utilities/Containers.h +++ b/src/common/Utilities/Containers.h @@ -118,6 +118,19 @@ namespace Trinity } /** + * @fn void Trinity::Containers::RandomShuffle(C& container) + * + * @brief Reorder the elements of the container randomly. + * + * @param container Container to reorder + */ + template <class C> + void RandomShuffle(C& container) + { + std::shuffle(container.begin(), container.end(), SFMTEngine::Instance()); + } + + /** * @fn bool Trinity::Containers::Intersects(Iterator first1, Iterator last1, Iterator first2, Iterator last2) * * @brief Checks if two SORTED containers have a common element |