/*============================================================================= Copyright (c) 2011-2018 Bolero MURAKAMI https://github.com/bolero-MURAKAMI/Sprout Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) =============================================================================*/ #ifndef SPROUT_UTILITY_VALUE_HOLDER_GET_HPP #define SPROUT_UTILITY_VALUE_HOLDER_GET_HPP #include #include #include namespace sprout { // // get // template inline SPROUT_CONSTEXPR typename sprout::value_holder::reference_type get(sprout::value_holder& x) { return sprout::value_holder::get(x); } template inline SPROUT_CONSTEXPR typename sprout::value_holder::rvalue_reference get(sprout::value_holder&& x) { return sprout::value_holder::get(sprout::move(x)); } template inline SPROUT_CONSTEXPR typename sprout::value_holder::reference_const_type get(sprout::value_holder const& x) { return sprout::value_holder::get(x); } template inline SPROUT_CONSTEXPR typename sprout::value_holder::pointer_type get(sprout::value_holder* x) { return sprout::value_holder::get_pointer(*x); } template inline SPROUT_CONSTEXPR typename sprout::value_holder::pointer_const_type get(sprout::value_holder const* x) { return sprout::value_holder::get_pointer(*x); } // // get_pointer // template inline SPROUT_CONSTEXPR typename sprout::value_holder::pointer_type get_pointer(sprout::value_holder& x) { return sprout::value_holder::get_pointer(x); } template inline SPROUT_CONSTEXPR typename sprout::value_holder::pointer_type get_pointer(sprout::value_holder&& x) { return sprout::value_holder::get_pointer(sprout::move(x)); } template inline SPROUT_CONSTEXPR typename sprout::value_holder::pointer_const_type get_pointer(sprout::value_holder const& x) { return sprout::value_holder::get_pointer(x); } } // namespace sprout #endif // #ifndef SPROUT_UTILITY_VALUE_HOLDER_GET_HPP