#ifndef SPROUT_VARIANT_GET_HPP #define SPROUT_VARIANT_GET_HPP #include #include #include #include namespace sprout { // // get // template inline SPROUT_CONSTEXPR U const& get(sprout::variant const& operand) { return operand.template get(); } template inline SPROUT_CONSTEXPR U& get(sprout::variant& operand) { return operand.template get(); } } // namespace sprout namespace sprout_adl { // // tuple_get // template inline SPROUT_CONSTEXPR typename sprout::tuples::tuple_element< I, sprout::variant >::type const& tuple_get(sprout::variant const& operand) { return operand.template get_at(); } template inline SPROUT_CONSTEXPR typename sprout::tuples::tuple_element< I, sprout::variant >::type& tuple_get(sprout::variant& operand) { return operand.template get_at(); } } // namespace sprout_adl #endif // #ifndef SPROUT_VARIANT_GET_HPP