Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the...
[oota-llvm.git] / include / llvm / Support / RandomNumberGenerator.h
index d04cc747d56ff3df2410d80ee68f5238da08971d..7446558f0c8811b551ef33de5548ab50b04877ac 100644 (file)
@@ -31,20 +31,8 @@ namespace llvm {
 /// module.
 class RandomNumberGenerator {
 public:
-  typedef std::mt19937_64 RNG;
-  typedef RNG::result_type result_type;
-
   /// Returns a random number in the range [0, Max).
-  result_type operator()();
-
-  // Must define min and max to be compatible with URNG as used by
-  // std::uniform_*_distribution
-  static LLVM_CONSTEXPR result_type min() {
-    return RNG::min();
-  }
-  static LLVM_CONSTEXPR result_type max() {
-    return RNG::max();
-  }
+  uint_fast64_t operator()();
 
 private:
   /// Seeds and salts the underlying RNG engine.
@@ -57,13 +45,11 @@ private:
   // http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine
   // This RNG is deterministically portable across C++11
   // implementations.
-  RNG Generator;
+  std::mt19937_64 Generator;
 
   // Noncopyable.
-  RandomNumberGenerator(const RandomNumberGenerator &other)
-      LLVM_DELETED_FUNCTION;
-  RandomNumberGenerator &
-  operator=(const RandomNumberGenerator &other) LLVM_DELETED_FUNCTION;
+  RandomNumberGenerator(const RandomNumberGenerator &other) = delete;
+  RandomNumberGenerator &operator=(const RandomNumberGenerator &other) = delete;
 
   friend class Module;
 };