#ifndef SPROUT_TUPLE_REMAKE_CLONE_HPP #define SPROUT_TUPLE_REMAKE_CLONE_HPP #include #include #include #include namespace sprout { namespace tuples { // // remake_clone // template SPROUT_CONSTEXPR inline typename sprout::tuples::tuple_traits< typename std::remove_reference::type >::clone_type remake_clone( Other&& other, Args&&... args ) { typedef typename std::remove_reference::type tuple_type; return sprout::tuples::remake_clone_functor().template operator()( sprout::forward(other), sprout::forward(args)... ); } } // namespace tuples } // namespace sprout #endif // #ifndef SPROUT_TUPLE_REMAKE_CLONE_HPP