aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Utilities/Util.h
diff options
context:
space:
mode:
authorShocker <shocker@freakz.ro>2011-09-15 21:28:40 +0300
committerShocker <shocker@freakz.ro>2011-09-15 21:28:40 +0300
commit7afb179185340e87762166edc91bb253d5c9796a (patch)
tree47bcadb956285c41626a17dbe48d80cb431c2917 /src/server/shared/Utilities/Util.h
parent8504a0107ea679e8cac7f87cccb05b1d2bedd8b4 (diff)
Misc/Util: Add a template function for returning a random element from any container
Diffstat (limited to 'src/server/shared/Utilities/Util.h')
-rwxr-xr-xsrc/server/shared/Utilities/Util.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/server/shared/Utilities/Util.h b/src/server/shared/Utilities/Util.h
index 9e17c5417fc..8740a9b6ebd 100755
--- a/src/server/shared/Utilities/Util.h
+++ b/src/server/shared/Utilities/Util.h
@@ -648,4 +648,13 @@ public:
return (part[el]);
};
};
+
+/* Select a random element from a container. Note: make sure you explicitly empty check the container */
+template <class C> typename C::value_type const& SelectRandomContainerElement(C const& container)
+{
+ C::const_iterator it = container.begin();
+ std::advance(it, urand(0, container.size() - 1));
+ return *it;
+}
+
#endif