inline Index rows() const { return r;} \
inline Index cols() const { return c;} \
\
inline Scalar& coeffRef(Index row, Index col) { return this->get().coeffRef(row, col); } \
inline const Scalar& coeff(Index row, Index col) const { return this->get().coeff(row, col); } \
inline Scalar& coeffRef(Index index) { return this->get().coeffRef(index); } \
inline const Scalar& coeff(Index index) const { return this->get().coeff(index); } \
\
template<int LoadMode> inline PacketScalar packet(Index index) const { return derived().get().template packet<LoadMode> (index);} \
template<int LoadMode> inline PacketScalar packet(Index row, Index col) const { return derived().get().template packet<LoadMode> (row, col);} \
template<int LoadMode> inline void writePacket(Index row, Index col, const PacketScalar& x) { derived().get().template writePacket<LoadMode>(row, col, x);} \
template<int LoadMode> inline void writePacket(Index index, const PacketScalar& x) { derived().get().template writePacket<LoadMode>(index, x);} \
\
inline Index innerStride() const { return 1; } \
inline Index outerStride() const { return this->innerSize(); } \
\
EIGEN_STRONG_INLINE const Scalar* data() const { return get().data(); } \
EIGEN_STRONG_INLINE Scalar* data() { return get().data(); } \