You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
51 lines
1.4 KiB
51 lines
1.4 KiB
/* boost random/shuffle_output.hpp header file |
|
* |
|
* Copyright Jens Maurer 2000-2001 |
|
* Distributed under the Boost Software License, Version 1.0. (See |
|
* accompanying file LICENSE_1_0.txt or copy at |
|
* http://www.boost.org/LICENSE_1_0.txt) |
|
* |
|
* See http://www.boost.org for most recent version including documentation. |
|
* |
|
* $Id: shuffle_output.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $ |
|
* |
|
* Revision history |
|
* 2001-02-18 moved to individual header files |
|
*/ |
|
|
|
#ifndef BOOST_RANDOM_SHUFFLE_OUTPUT_HPP |
|
#define BOOST_RANDOM_SHUFFLE_OUTPUT_HPP |
|
|
|
#include <boost/random/shuffle_order.hpp> |
|
|
|
namespace boost { |
|
namespace random { |
|
|
|
/// \cond |
|
|
|
template<typename URNG, int k, |
|
typename URNG::result_type val = 0> |
|
class shuffle_output : public shuffle_order_engine<URNG, k> |
|
{ |
|
typedef shuffle_order_engine<URNG, k> base_t; |
|
typedef typename base_t::result_type result_type; |
|
public: |
|
shuffle_output() {} |
|
template<class T> |
|
shuffle_output(T& arg) : base_t(arg) {} |
|
template<class T> |
|
shuffle_output(const T& arg) : base_t(arg) {} |
|
template<class It> |
|
shuffle_output(It& first, It last) : base_t(first, last) {} |
|
result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () |
|
{ return (this->base().min)(); } |
|
result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () |
|
{ return (this->base().max)(); } |
|
}; |
|
|
|
/// \endcond |
|
|
|
} |
|
} |
|
|
|
#endif // BOOST_RANDOM_SHUFFLE_OUTPUT_HPP
|
|
|