| 1174 | |
| 1175 | template <typename T> |
| 1176 | inline decltype(auto) deref(T&& item) { |
| 1177 | using Tu = meta::unqualified_t<T>; |
| 1178 | if constexpr (meta::is_pointer_like_v<Tu>) { |
| 1179 | return *std::forward<T>(item); |
| 1180 | } |
| 1181 | else { |
| 1182 | return std::forward<T>(item); |
| 1183 | } |
| 1184 | } |
| 1185 | |
| 1186 | template <typename T> |
| 1187 | inline decltype(auto) deref_move_only(T&& item) { |
no outgoing calls
no test coverage detected