[/ Copyright 2007 John Maddock. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt). ] [section:rank rank] template struct rank : public __integral_constant {}; __inherit Class template rank inherits from `__integral_constant`, where `RANK(T)` is the number of array dimensions in type `T`. If `T` is not a (built-in) array type, then `RANK(T)` is zero. [all_compilers] __header ` #include ` or ` #include ` __examples [:`rank` inherits from `__integral_constant`.] [:`rank::type` is the type `__integral_constant`.] [:`rank::value` is an integral constant expression that evaluates to /1/.] [:`rank::value` is an integral constant expression that evaluates to /2/.] [:`rank::value` is an integral constant expression that evaluates to /0/.] [:`rank >::value` is an integral constant expression that evaluates to /0/: `boost::array` is a class type and [*not an array type]!] [:`rank::value_type` is the type `std::size_t`.] [endsect]