#ifndef SPROUT_TUPLE_CLONE_HPP #define SPROUT_TUPLE_CLONE_HPP #include #include #include #include namespace sprout { namespace tuples { // // clone // template SPROUT_CONSTEXPR inline typename sprout::tuples::tuple_traits< typename std::remove_reference::type >::clone_type clone(Tuple&& cont) { typedef typename std::decay::type tuple_type; return sprout::tuples::clone_functor().template operator()(sprout::forward(cont)); } } // namespace tuples } // namespace sprout #endif // #ifndef SPROUT_TUPLE_CLONE_HPP