#ifndef SPROUT_FIXED_CONTAINER_GET_DEEP_INTERNAL_HPP #define SPROUT_FIXED_CONTAINER_GET_DEEP_INTERNAL_HPP #include #include #include #include #include #include #include namespace sprout { namespace detail { template< typename Container, typename sprout::enabler_if::value>::type = sprout::enabler > inline SPROUT_CONSTEXPR typename sprout::containers::deep_internal::type get_deep_internal_impl(Container&& cont) { return sprout::forward(cont); } template< typename Container, typename sprout::enabler_if::value>::type = sprout::enabler > inline SPROUT_CONSTEXPR typename sprout::containers::deep_internal::type get_deep_internal_impl(Container&& cont) { return sprout::detail::get_deep_internal_impl( sprout::get_internal(sprout::forward(cont)) ); } } // namespace detail // // get_deep_internal // template inline SPROUT_CONSTEXPR typename sprout::containers::deep_internal::type get_deep_internal(Container&& cont) { return sprout::detail::get_deep_internal_impl(sprout::forward(cont)); } } // namespace sprout #endif // #ifndef SPROUT_FIXED_CONTAINER_GET_DEEP_INTERNAL_HPP