#include <Eigen/Core> | |
USING_PART_OF_NAMESPACE_EIGEN | |
using namespace std; | |
template<typename Scalar, typename Derived> | |
void foo(const MatrixBase<Scalar, Derived>& m) | |
{ | |
cout << "Here's m:" << endl << m << endl; | |
} | |
template<typename Scalar, typename Derived> | |
Eigen::ScalarMultiple<Derived> | |
twice(const MatrixBase<Scalar, Derived>& m) | |
{ | |
return 2 * m; | |
} | |
int main(int, char**) | |
{ | |
Matrix2d m = Matrix2d::random(); | |
foo(m); | |
foo(twice(m)); | |
return 0; | |
} |