X-Git-Url: https://git.donarmstrong.com/?p=rsem.git;a=blobdiff_plain;f=boost%2Frandom%2Fdetail%2Fpass_through_engine.hpp;fp=boost%2Frandom%2Fdetail%2Fpass_through_engine.hpp;h=0000000000000000000000000000000000000000;hp=468427c62ae4ae0ec2523408821d905a90844105;hb=2d71eb92104693ca9baa5a2e1c23eeca776d8fd3;hpb=da57529b92adbb7ae74a89861cb39fb35ac7c62d diff --git a/boost/random/detail/pass_through_engine.hpp b/boost/random/detail/pass_through_engine.hpp deleted file mode 100644 index 468427c..0000000 --- a/boost/random/detail/pass_through_engine.hpp +++ /dev/null @@ -1,100 +0,0 @@ -/* boost random/detail/uniform_int_float.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: pass_through_engine.hpp 58649 2010-01-02 21:23:17Z steven_watanabe $ - * - */ - -#ifndef BOOST_RANDOM_DETAIL_PASS_THROUGH_ENGINE_HPP -#define BOOST_RANDOM_DETAIL_PASS_THROUGH_ENGINE_HPP - -#include -#include -#include - -namespace boost { -namespace random { -namespace detail { - -template -class pass_through_engine -{ -private: - typedef ptr_helper helper_type; - -public: - typedef typename helper_type::value_type base_type; - typedef typename base_type::result_type result_type; - - explicit pass_through_engine(UniformRandomNumberGenerator rng) - // make argument an rvalue to avoid matching Generator& constructor - : _rng(static_cast(rng)) - { } - - result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (base().min)(); } - result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (base().max)(); } - base_type& base() { return helper_type::ref(_rng); } - const base_type& base() const { return helper_type::ref(_rng); } - - result_type operator()() { return base()(); } - -private: - UniformRandomNumberGenerator _rng; -}; - -#ifndef BOOST_NO_STD_LOCALE - -template -std::basic_ostream& -operator<<( - std::basic_ostream& os - , const pass_through_engine& ud - ) -{ - return os << ud.base(); -} - -template -std::basic_istream& -operator>>( - std::basic_istream& is - , const pass_through_engine& ud - ) -{ - return is >> ud.base(); -} - -#else // no new streams - -template -inline std::ostream& -operator<<(std::ostream& os, - const pass_through_engine& ud) -{ - return os << ud.base(); -} - -template -inline std::istream& -operator>>(std::istream& is, - const pass_through_engine& ud) -{ - return is >> ud.base(); -} - -#endif - -} // namespace detail -} // namespace random -} // namespace boost - -#include - -#endif // BOOST_RANDOM_DETAIL_PASS_THROUGH_ENGINE_HPP -