16USERVER_IMPL_NODEBUG_INLINE_FUNC
inline constexpr auto&&
ForwardLike(U&& x)
noexcept {
17 constexpr bool is_adding_const = std::is_const_v<std::remove_reference_t<T>>;
19 using URef = std::remove_reference_t<U>;
20 using V = std::conditional_t<is_adding_const, std::add_const_t<URef>, URef>;
22 if constexpr (std::is_lvalue_reference_v<T&&>) {
23 return static_cast<V&>(x);
25 return static_cast<V&&>(x);