is_unbounded_array.hpp 843 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. Copyright 2018 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. #ifndef BOOST_TT_IS_UNBOUNDED_ARRAY_HPP_INCLUDED
  9. #define BOOST_TT_IS_UNBOUNDED_ARRAY_HPP_INCLUDED
  10. #include <boost/type_traits/integral_constant.hpp>
  11. namespace boost {
  12. template<class T>
  13. struct is_unbounded_array
  14. : false_type { };
  15. #if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
  16. template<class T>
  17. struct is_unbounded_array<T[]>
  18. : true_type { };
  19. template<class T>
  20. struct is_unbounded_array<const T[]>
  21. : true_type { };
  22. template<class T>
  23. struct is_unbounded_array<volatile T[]>
  24. : true_type { };
  25. template<class T>
  26. struct is_unbounded_array<const volatile T[]>
  27. : true_type { };
  28. #endif
  29. } /* boost */
  30. #endif