My Project
rank.hpp
Go to the documentation of this file.
1 
28 #ifndef BSL_RANK_HPP
29 #define BSL_RANK_HPP
30 
31 #include "cstdint.hpp"
32 #include "integral_constant.hpp"
33 
34 namespace bsl
35 {
47  template<typename T>
48  class rank final : // --
49  public integral_constant<bsl::uintmax, 0>
50  {};
51 
53 
54  template<typename T>
55  class rank<T[]> final : // NOLINT
56  public integral_constant<bsl::uintmax, rank<T>::value + 1>
57  {};
58 
59  template<typename T, bsl::uintmax N>
60  class rank<T[N]> final : // NOLINT
61  public integral_constant<bsl::uintmax, rank<T>::value + 1>
62  {};
63 
65 }
66 
67 #endif
If the provided type is an array type (taking into account const qualifications), provides the member...
Definition: integral_constant.hpp:45
If T is an array type, provides the member constant value equal to the number of dimensions of the ar...
Definition: rank.hpp:48