#ifndef SPROUT_UTILITY_VALUE_HOLDER_GET_HPP #define SPROUT_UTILITY_VALUE_HOLDER_GET_HPP #include #include namespace sprout { // // get // template inline SPROUT_CONSTEXPR typename sprout::value_holder::reference_const_type get(sprout::value_holder const& x) { return x.get(); } template inline typename sprout::value_holder::reference_type get(sprout::value_holder& x) { return x.get(); } template inline SPROUT_CONSTEXPR typename sprout::value_holder::pointer_const_type get(sprout::value_holder const* x) { return x->get_pointer(); } template inline typename sprout::value_holder::pointer_type get(sprout::value_holder* x) { return x->get_pointer(); } // // get_pointer // template inline SPROUT_CONSTEXPR typename sprout::value_holder::pointer_const_type get_pointer(sprout::value_holder const& x) { return x.get_pointer(); } template inline typename sprout::value_holder::pointer_type get_pointer(sprout::value_holder& x) { return x.get_pointer(); } } // namespace sprout #endif // #ifndef SPROUT_UTILITY_VALUE_HOLDER_GET_HPP