/*============================================================================= Copyright (c) 2011-2019 Bolero MURAKAMI https://github.com/bolero-MURAKAMI/Sprout 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) =============================================================================*/ #ifndef SPROUT_ALGORITHM_FIXED_RESULTS_HPP #define SPROUT_ALGORITHM_FIXED_RESULTS_HPP #include #include #include #include #include namespace sprout { namespace fixed { namespace results { // // algorithm // template struct algorithm : public sprout::identity::copied_type> {}; // // shuffle // template struct shuffle : public sprout::identity< sprout::pair< typename sprout::fixed::results::algorithm::type, typename std::decay::type > > {}; // // resized_relative // template::difference_type RelativeSize> struct resized_relative : public std::decay< typename sprout::container_transform_traits ::template rebind_size::static_size + RelativeSize>::type > {}; #if SPROUT_USE_TEMPLATE_ALIASES template using algorithm_t = typename sprout::fixed::results::algorithm::type; template using shuffle_t = typename sprout::fixed::results::shuffle::type; template::difference_type RelativeSize> using resized_relative_t = typename sprout::fixed::results::resized_relative::type; #endif // #if SPROUT_USE_TEMPLATE_ALIASES } // namespace results } // namespace fixed namespace results { using sprout::fixed::results::algorithm; using sprout::fixed::results::shuffle; using sprout::fixed::results::resized_relative; #if SPROUT_USE_TEMPLATE_ALIASES using sprout::fixed::results::algorithm_t; using sprout::fixed::results::shuffle_t; using sprout::fixed::results::resized_relative_t; #endif // #if SPROUT_USE_TEMPLATE_ALIASES } // namespace results } // namespace sprout #endif // #ifndef SPROUT_ALGORITHM_FIXED_RESULTS_HPP