12345678910111213141516171819202122232425262728293031 |
- /*
- Copyright Barrett Adair 2016-2017
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
- */
- #include <type_traits>
- #include <functional>
- #include <tuple>
- #include <boost/callable_traits.hpp>
- struct foo {
- void operator()() const {}
- };
- namespace ct = boost::callable_traits;
- int main() {
- using args = ct::args_t<foo>;
- using expected_args = std::tuple<>;
- static_assert(std::is_same<args, expected_args>{}, "");
- using signature = ct::function_type_t<foo>;
- using expected_signature = void();
- static_assert(std::is_same<signature, expected_signature>{}, "");
- return 0;
- }
|