aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-09-01 11:52:08 +0200
committerariel- <ariel-@users.noreply.github.com>2017-04-11 14:31:03 -0300
commit1787718e258f0e3c7673b5886c098878fb8a17f6 (patch)
treeba22643ebb1dbcf1c535364d681adbe33bf5260c
parent4d7e7a97b329dc8ee4354f7be26c5e5efbaeba6b (diff)
Core/Random: Remove no longer needed hack for VS 2013
(cherry picked from commit 59fe9087447dc58c3f41fb6f647bc2b50a95b9b5)
-rw-r--r--src/common/Utilities/Containers.h4
-rw-r--r--src/common/Utilities/Random.h22
2 files changed, 1 insertions, 25 deletions
diff --git a/src/common/Utilities/Containers.h b/src/common/Utilities/Containers.h
index 9bdc0999cf5..dda48858878 100644
--- a/src/common/Utilities/Containers.h
+++ b/src/common/Utilities/Containers.h
@@ -20,7 +20,6 @@
#include "Define.h"
#include "Random.h"
-#include "Util.h"
#include <algorithm>
#include <functional>
#include <list>
@@ -84,8 +83,7 @@ namespace Trinity
template <class C>
typename C::const_iterator SelectRandomWeightedContainerElement(C const& container, std::vector<double> weights)
{
- Trinity::discrete_distribution_param<uint32> ddParam(weights.begin(), weights.end());
- std::discrete_distribution<uint32> dd(ddParam);
+ std::discrete_distribution<uint32> dd(weights.begin(), weights.end());
typename C::const_iterator it = container.begin();
std::advance(it, dd(SFMTEngine::Instance()));
return it;
diff --git a/src/common/Utilities/Random.h b/src/common/Utilities/Random.h
index 18afd6e023b..94a36db42f6 100644
--- a/src/common/Utilities/Random.h
+++ b/src/common/Utilities/Random.h
@@ -74,26 +74,4 @@ public:
static SFMTEngine& Instance();
};
-// Ugly, horrible, i don't even..., hack for VS2013 to work around missing discrete_distribution(iterator, iterator) constructor
-namespace Trinity
-{
-#if COMPILER == COMPILER_MICROSOFT && _MSC_VER <= 1800
- template<typename T>
- struct discrete_distribution_param : public std::discrete_distribution<T>::param_type
- {
- typedef typename std::discrete_distribution<T>::param_type base;
-
- template<typename InIt>
- discrete_distribution_param(InIt begin, InIt end) : base(_Noinit())
- {
- this->_Pvec.assign(begin, end);
- this->_Init();
- }
- };
-#else
- template<typename T>
- using discrete_distribution_param = typename std::discrete_distribution<T>::param_type;
-#endif
-}
-
#endif // Random_h__