diff options
Diffstat (limited to 'include/internal/catch_meta.hpp')
-rw-r--r-- | include/internal/catch_meta.hpp | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/include/internal/catch_meta.hpp b/include/internal/catch_meta.hpp deleted file mode 100644 index 4eca7efc..00000000 --- a/include/internal/catch_meta.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Created by Jozef on 02/12/2018. - * Copyright 2018 Two Blue Cubes Ltd. All rights reserved. - * - * 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 TWOBLUECUBES_CATCH_META_HPP_INCLUDED -#define TWOBLUECUBES_CATCH_META_HPP_INCLUDED - -#include <type_traits> - -namespace Catch { - template<typename T> - struct always_false : std::false_type {}; - - template <typename> struct true_given : std::true_type {}; - struct is_callable_tester { - template <typename Fun, typename... Args> - true_given<decltype(std::declval<Fun>()(std::declval<Args>()...))> static test(int); - template <typename...> - std::false_type static test(...); - }; - - template <typename T> - struct is_callable; - - template <typename Fun, typename... Args> - struct is_callable<Fun(Args...)> : decltype(is_callable_tester::test<Fun, Args...>(0)) {}; - - -#if defined(__cpp_lib_is_invocable) && __cpp_lib_is_invocable >= 201703 - // std::result_of is deprecated in C++17 and removed in C++20. Hence, it is - // replaced with std::invoke_result here. Also *_t format is preferred over - // typename *::type format. - template <typename Func, typename U> - using FunctionReturnType = std::remove_reference_t<std::remove_cv_t<std::invoke_result_t<Func, U>>>; -#else - template <typename Func, typename U> - using FunctionReturnType = typename std::remove_reference<typename std::remove_cv<typename std::result_of<Func(U)>::type>::type>::type; -#endif - -} // namespace Catch - -namespace mpl_{ - struct na; -} - -#endif // TWOBLUECUBES_CATCH_META_HPP_INCLUDED |