|  | Home | Libraries | People | FAQ | More | 
template <class T, std::size_t N = 0> struct extent : public integral_constant<std::size_t, EXTENT(T,N)> {};
        Inherits: Class template extent inherits
        from integral_constant<std::size_t, EXTENT(T,N)>,
        where EXTENT(T,N) is the number of elements in the N'th array
        dimension of type T.
      
        If T is not a (built-in)
        array type, or if N >
        rank<T>::value, or if the N'th array bound is incomplete,
        then EXTENT(T,N) is zero.
      
        Header:  #include
        <boost/type_traits/extent.hpp>
        or  #include <boost/type_traits.hpp>
      
Examples:
extent<int[1]>inherits fromintegral_constant<std::size_t, 1>.
extent<double[2][3][4], 0>::typeis the typeintegral_constant<std::size_t, 2>.
extent<double[2][3][4], 1>::typeis the typeintegral_constant<std::size_t, 3>.
extent<double[2][3][4], 2>::typeis the typeintegral_constant<std::size_t, 4>.
extent<int[4]>::valueis an integral constant expression that evaluates to 4.
extent<int[][2]>::valueis an integral constant expression that evaluates to 0.
extent<int[][2], 1>::valueis an integral constant expression that evaluates to 2.
extent<int*>::valueis an integral constant expression that evaluates to 0.
extent<boost::array<int, 3> >::valueis an integral constant expression that evaluates to 0:boost::arrayis a class type and not an array type!
extent<T>::value_typeis the typestd::size_t.
Compiler Compatibility: All current compilers are supported by this trait.