make_void_test.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. Copyright 2017 Glen Joseph Fernandes
  3. (glenjofe@gmail.com)
  4. Distributed under the Boost Software License,
  5. Version 1.0. (See accompanying file LICENSE_1_0.txt
  6. or copy at http://www.boost.org/LICENSE_1_0.txt)
  7. */
  8. #ifdef TEST_STD
  9. #include <type_traits>
  10. #else
  11. #include <boost/type_traits/make_void.hpp>
  12. #endif
  13. #include "test.hpp"
  14. #include "check_type.hpp"
  15. TT_TEST_BEGIN(make_void)
  16. BOOST_CHECK_TYPE(::tt::make_void<int>::type, void);
  17. BOOST_CHECK_TYPE(::tt::make_void<const volatile int>::type, void);
  18. BOOST_CHECK_TYPE(::tt::make_void<int&>::type, void);
  19. BOOST_CHECK_TYPE(::tt::make_void<void>::type, void);
  20. BOOST_CHECK_TYPE(::tt::make_void<int(*)(int)>::type, void);
  21. BOOST_CHECK_TYPE(::tt::make_void<int[]>::type, void);
  22. BOOST_CHECK_TYPE(::tt::make_void<int[1]>::type, void);
  23. BOOST_CHECK_TYPE(::tt::make_void<>::type, void);
  24. BOOST_CHECK_TYPE3(::tt::make_void<int, int>::type, void);
  25. #ifndef BOOST_NO_CXX11_TEMPLATE_ALIASES
  26. BOOST_CHECK_TYPE(::tt::void_t<int>, void);
  27. BOOST_CHECK_TYPE(::tt::void_t<const volatile int>, void);
  28. BOOST_CHECK_TYPE(::tt::void_t<int&>, void);
  29. BOOST_CHECK_TYPE(::tt::void_t<void>, void);
  30. BOOST_CHECK_TYPE(::tt::void_t<int(*)(int)>, void);
  31. BOOST_CHECK_TYPE(::tt::void_t<int[]>, void);
  32. BOOST_CHECK_TYPE(::tt::void_t<int[1]>, void);
  33. BOOST_CHECK_TYPE(::tt::void_t<>, void);
  34. BOOST_CHECK_TYPE3(::tt::void_t<int, int>, void);
  35. #endif
  36. TT_TEST_END