#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(); } template inline SPROUT_CONSTEXPR typename sprout::tuples::tuple_element< I, sprout::variant >::type const& get(sprout::variant const& operand) { return operand.template get_at(); } template inline SPROUT_CONSTEXPR typename sprout::tuples::tuple_element< I, sprout::variant >::type& get(sprout::variant& operand) { return operand.template get_at(); } } // namespace sprout #endif // #ifndef SPROUT_VARIANT_GET_HPP