std::is_unbounded_array(3)
πΈ NAME πΈ
Okay so bestie, welcome to the std::is_unbounded_array(3) page from the C++ Standard Libary manual π
. The NAME line is literally std::is_unbounded_array - std::is_unbounded_array β yes, she said it twice, and honestly? iconic.
β¨ Synopsis β¨
Defined in header <type_traits>:
template< class T > (since C++20)
struct is_unbounded_array;
std::is_unbounded_array is a UnaryTypeTrait.
She checks whether T is an arrays of unknown bound. Provides the member constant value which is equal to true, if T is an array type of unknown bound. Otherwise, value is equal to false.
β οΈ Heads up, bestie: if the program adds specializations forstd::is_unbounded_arrayorstd::is_unbounded_array_v, the behavior is undefined. That is a no-cap do-not-touch.
π§ Template parameters π§
T- a type to check
π Helper variable template π
template< class T >
inline constexpr bool is_unbounded_array_v =
(since C++20)
is_unbounded_array<T>::value;
Also: Inherited from std::integral_constant β slay.
π Member constants π
valueβtrueifTis an array type of unknown bound.,falseotherwise;[static](public static member constant)
π«Ά Member functions π«Ά
operator boolβ converts the object tobool, returnsvalue(public member function)operator()β returnsvalue(C++14) (public member function)
π¦ Member types π¦
value_typeβbooltypeβstd::integral_constant<bool, value>
π Possible implementation π
template<class T>
struct is_unbounded_array: std::false_type {};
template<class T>
struct is_unbounded_array<T[]> : std::true_type {};
π Notes π
Feature-test macro table, but make it cute:
- Feature-test macro:
__cpp_lib_bounded_array_traits - Value:
201902L - Std:
(C++20) - Feature:
std::is_bounded_array,std::is_unbounded_array
π» Example π»
// Run this code
#include <type_traits>
class A {};
static_assert
(""
&& std::is_unbounded_array_v<A> == false
&& std::is_unbounded_array_v<A[]> == true
&& std::is_unbounded_array_v<A[3]> == false
&& std::is_unbounded_array_v<float> == false
&& std::is_unbounded_array_v<int> == false
&& std::is_unbounded_array_v<int[]> == true
&& std::is_unbounded_array_v<int[3]> == false
);
int main() {}
π See also π
is_arrayβ checks if a type is an array type (C++11) (class template)is_bounded_arrayβ checks if a type is an array type of known bound (C++20) (class template)extentβ obtains the size of an array type along a specified dimension (C++11) (class template)
okay bye bestie π this was the std::is_unbounded_array(3) page from http://cppreference.com, dated 2024.06.10 β mwah, go flex those type traits ππ¦
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms