| 10383 | |
| 10384 | template <typename T> |
| 10385 | auto get(lua_State* L, int index, record& tracking) -> decltype(stack_detail::unchecked_get<T>(L, index, tracking)) { |
| 10386 | #if defined(SOL_SAFE_GETTER) && SOL_SAFE_GETTER |
| 10387 | static constexpr bool is_op = meta::is_optional_v<T>; |
| 10388 | if constexpr (is_op) { |
| 10389 | return stack_detail::unchecked_get<T>(L, index, tracking); |
| 10390 | } |
| 10391 | else { |
| 10392 | if (is_lua_reference<T>::value) { |
| 10393 | return stack_detail::unchecked_get<T>(L, index, tracking); |
| 10394 | } |
| 10395 | auto op = check_get<T>(L, index, type_panic_c_str, tracking); |
| 10396 | return *std::move(op); |
| 10397 | } |
| 10398 | #else |
| 10399 | return stack_detail::unchecked_get<T>(L, index, tracking); |
| 10400 | #endif |
| 10401 | } |
| 10402 | |
| 10403 | template <typename T> |
| 10404 | decltype(auto) get(lua_State* L, int index = -lua_size<meta::unqualified_t<T>>::value) { |
no test coverage detected