Chris@16: /* boost random/shuffle_output.hpp header file Chris@16: * Chris@16: * Copyright Jens Maurer 2000-2001 Chris@16: * Distributed under the Boost Software License, Version 1.0. (See Chris@16: * accompanying file LICENSE_1_0.txt or copy at Chris@16: * http://www.boost.org/LICENSE_1_0.txt) Chris@16: * Chris@16: * See http://www.boost.org for most recent version including documentation. Chris@16: * Chris@101: * $Id$ Chris@16: * Chris@16: * Revision history Chris@16: * 2001-02-18 moved to individual header files Chris@16: */ Chris@16: Chris@16: #ifndef BOOST_RANDOM_SHUFFLE_OUTPUT_HPP Chris@16: #define BOOST_RANDOM_SHUFFLE_OUTPUT_HPP Chris@16: Chris@16: #include Chris@16: Chris@16: namespace boost { Chris@16: namespace random { Chris@16: Chris@16: /// \cond Chris@16: Chris@16: template Chris@16: class shuffle_output : public shuffle_order_engine Chris@16: { Chris@16: typedef shuffle_order_engine base_t; Chris@101: public: Chris@16: typedef typename base_t::result_type result_type; Chris@16: shuffle_output() {} Chris@16: template Chris@101: explicit shuffle_output(T& arg) : base_t(arg) {} Chris@16: template Chris@101: explicit shuffle_output(const T& arg) : base_t(arg) {} Chris@16: template Chris@16: shuffle_output(It& first, It last) : base_t(first, last) {} Chris@16: result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () Chris@16: { return (this->base().min)(); } Chris@16: result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () Chris@16: { return (this->base().max)(); } Chris@16: }; Chris@16: Chris@16: /// \endcond Chris@16: Chris@16: } Chris@16: } Chris@16: Chris@16: #endif // BOOST_RANDOM_SHUFFLE_OUTPUT_HPP