From dc2493e7525bb7633f697ef10f72b72b46222249 Mon Sep 17 00:00:00 2001 From: Andy Belle-Isle Date: Fri, 30 Aug 2019 00:45:36 -0400 Subject: Forget what I said, I just need to change git attributes to mark for vendor --- deps/sol2/include/sol/pointer_like.hpp | 101 --------------------------------- 1 file changed, 101 deletions(-) delete mode 100644 deps/sol2/include/sol/pointer_like.hpp (limited to 'deps/sol2/include/sol/pointer_like.hpp') diff --git a/deps/sol2/include/sol/pointer_like.hpp b/deps/sol2/include/sol/pointer_like.hpp deleted file mode 100644 index 054aee5..0000000 --- a/deps/sol2/include/sol/pointer_like.hpp +++ /dev/null @@ -1,101 +0,0 @@ -// sol3 - -// The MIT License (MIT) - -// Copyright (c) 2013-2019 Rapptz, ThePhD and contributors - -// Permission is hereby granted, free of charge, to any person obtaining a copy of -// this software and associated documentation files (the "Software"), to deal in -// the Software without restriction, including without limitation the rights to -// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -// the Software, and to permit persons to whom the Software is furnished to do so, -// subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef SOL_POINTER_LIKE_HPP -#define SOL_POINTER_LIKE_HPP - -#include "base_traits.hpp" - -#include -#include - -namespace sol { - - namespace meta { - namespace meta_detail { - template - using is_dereferenceable_test = decltype(*std::declval()); - - template - using is_explicitly_dereferenceable_test = decltype(std::declval().operator*()); - } - - template - using is_pointer_like = std::integral_constant && (std::is_pointer_v || is_detected_v)>; - - template - constexpr inline bool is_pointer_like_v = is_pointer_like::value; - } // namespace meta - - namespace detail { - - template - auto unwrap(T&& item) -> decltype(std::forward(item)) { - return std::forward(item); - } - - template - T& unwrap(std::reference_wrapper arg) { - return arg.get(); - } - - template - inline decltype(auto) deref(T&& item) { - using Tu = meta::unqualified_t; - if constexpr (meta::is_pointer_like_v) { - return *std::forward(item); - } - else { - return std::forward(item); - } - } - - template - inline decltype(auto) deref_non_pointer(T&& item) { - using Tu = meta::unqualified_t; - if constexpr (meta::is_pointer_like_v && !std::is_pointer_v) { - return *std::forward(item); - } - else { - return std::forward(item); - } - } - - template - inline T* ptr(T& val) { - return std::addressof(val); - } - - template - inline T* ptr(std::reference_wrapper val) { - return std::addressof(val.get()); - } - - template - inline T* ptr(T* val) { - return val; - } - } // namespace detail -} // namespace sol - -#endif // SOL_POINTER_LIKE_HPP -- cgit v1.2.3