summaryrefslogtreecommitdiffstats
path: root/base/rand_util.h
diff options
context:
space:
mode:
Diffstat (limited to 'base/rand_util.h')
-rw-r--r--base/rand_util.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/base/rand_util.h b/base/rand_util.h
index e6ffe9a..699fc7f 100644
--- a/base/rand_util.h
+++ b/base/rand_util.h
@@ -1,9 +1,10 @@
-// Copyright (c) 2008 The Chromium Authors. All rights reserved.
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef BASE_RAND_UTIL_H_
#define BASE_RAND_UTIL_H_
+#pragma once
#include "base/basictypes.h"
@@ -15,6 +16,13 @@ uint64 RandUint64();
// Returns a random number between min and max (inclusive). Thread-safe.
int RandInt(int min, int max);
+// Returns a random number in range [0, max). Thread-safe.
+//
+// Note that this can be used as an adapter for std::random_shuffle():
+// Given a pre-populated |std::vector<int> myvector|, shuffle it as
+// std::random_shuffle(myvector.begin(), myvector.end(), base::RandGenerator);
+uint64 RandGenerator(uint64 max);
+
// Returns a random double in range [0, 1). Thread-safe.
double RandDouble();