std::is_bounded_array
Min standard notice:
Header: <type_traits>
std::is_bounded_array is a UnaryTypeTrait.
# Declarations
template< class T >
struct is_bounded_array;
(since C++20)
# Notes
Feature-test macro Value Std Feature __cpp_lib_bounded_array_traits 201902L (C++20) std::is_bounded_array, std::is_unbounded_array
# Example
#include <iostream>
#include <type_traits>
#define OUT(...) std::cout << #__VA_ARGS__ << " : " << __VA_ARGS__ << '\n'
class A {};
int main()
{
std::cout << std::boolalpha;
OUT(std::is_bounded_array_v<A>);
OUT(std::is_bounded_array_v<A[]>);
OUT(std::is_bounded_array_v<A[3]>);
OUT(std::is_bounded_array_v<float>);
OUT(std::is_bounded_array_v<int>);
OUT(std::is_bounded_array_v<int[]>);
OUT(std::is_bounded_array_v<int[3]>);
}