11 #ifndef EIGEN_BLOCK2_H    12 #define EIGEN_BLOCK2_H    32 template<
typename Derived>
    33 inline Block<Derived> DenseBase<Derived>
    34   ::corner(
CornerType type, Index cRows, Index cCols)
    41       return Block<Derived>(derived(), 0, 0, cRows, cCols);
    43       return Block<Derived>(derived(), 0, cols() - cCols, cRows, cCols);
    45       return Block<Derived>(derived(), rows() - cRows, 0, cRows, cCols);
    47       return Block<Derived>(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
    52 template<
typename Derived>
    53 inline const Block<Derived>
    54 DenseBase<Derived>::corner(
CornerType type, Index cRows, Index cCols)
 const    61       return Block<Derived>(derived(), 0, 0, cRows, cCols);
    63       return Block<Derived>(derived(), 0, cols() - cCols, cRows, cCols);
    65       return Block<Derived>(derived(), rows() - cRows, 0, cRows, cCols);
    67       return Block<Derived>(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
    83 template<
typename Derived>
    84 template<
int CRows, 
int CCols>
    85 inline Block<Derived, CRows, CCols>
    93       return Block<Derived, CRows, CCols>(derived(), 0, 0);
    95       return Block<Derived, CRows, CCols>(derived(), 0, cols() - CCols);
    97       return Block<Derived, CRows, CCols>(derived(), rows() - CRows, 0);
    99       return Block<Derived, CRows, CCols>(derived(), rows() - CRows, cols() - CCols);
   104 template<
typename Derived>
   105 template<
int CRows, 
int CCols>
   106 inline const Block<Derived, CRows, CCols>
   107 DenseBase<Derived>::corner(
CornerType type)
 const   114       return Block<Derived, CRows, CCols>(derived(), 0, 0);
   116       return Block<Derived, CRows, CCols>(derived(), 0, cols() - CCols);
   118       return Block<Derived, CRows, CCols>(derived(), rows() - CRows, 0);
   120       return Block<Derived, CRows, CCols>(derived(), rows() - CRows, cols() - CCols);
   126 #endif // EIGEN_BLOCK2_H