From 59b83c14fd2bec0b8c8afa7a2fa0357af7f0f827 Mon Sep 17 00:00:00 2001 From: Jitse Niesen Date: Sat, 10 Sep 2011 09:18:18 +0100 Subject: Write page on template and typename keywords in C++. After yet another question on the forum, I decided to write something on this common issue. Now we just need to link to this and get people to read it. Thanks to mattb on the forum for some links. Caveat: IANALL (I am not a language lawyer). --- doc/examples/TemplateKeyword_flexible.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 doc/examples/TemplateKeyword_flexible.cpp (limited to 'doc/examples/TemplateKeyword_flexible.cpp') diff --git a/doc/examples/TemplateKeyword_flexible.cpp b/doc/examples/TemplateKeyword_flexible.cpp new file mode 100644 index 000000000..9d85292dd --- /dev/null +++ b/doc/examples/TemplateKeyword_flexible.cpp @@ -0,0 +1,22 @@ +#include +#include + +using namespace Eigen; + +template +void copyUpperTriangularPart(MatrixBase& dst, const MatrixBase& src) +{ + /* Note the 'template' keywords in the following line! */ + dst.template triangularView() = src.template triangularView(); +} + +int main() +{ + MatrixXi m1 = MatrixXi::Ones(5,5); + MatrixXi m2 = MatrixXi::Random(4,4); + std::cout << "m2 before copy:" << std::endl; + std::cout << m2 << std::endl << std::endl; + copyUpperTriangularPart(m2, m1.topLeftCorner(4,4)); + std::cout << "m2 after copy:" << std::endl; + std::cout << m2 << std::endl << std::endl; +} -- cgit v1.2.3