aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/examples/make_circulant.cpp.traits
diff options
context:
space:
mode:
authorGravatar Jitse Niesen <jitse@maths.leeds.ac.uk>2014-09-27 23:25:58 +0100
committerGravatar Jitse Niesen <jitse@maths.leeds.ac.uk>2014-09-27 23:25:58 +0100
commitce2035af868d57b85b4078c15843d5c1f51047dc (patch)
treeca6392457ba02fa24e8f5f0ddcf755697d73d36e /doc/examples/make_circulant.cpp.traits
parent6d0f0b8cecd0ee944503d885fd34278044bab746 (diff)
New doc page on implementing a new expression class.
Diffstat (limited to 'doc/examples/make_circulant.cpp.traits')
-rw-r--r--doc/examples/make_circulant.cpp.traits19
1 files changed, 19 insertions, 0 deletions
diff --git a/doc/examples/make_circulant.cpp.traits b/doc/examples/make_circulant.cpp.traits
new file mode 100644
index 000000000..f91e43717
--- /dev/null
+++ b/doc/examples/make_circulant.cpp.traits
@@ -0,0 +1,19 @@
+namespace Eigen {
+ namespace internal {
+ template <class ArgType>
+ struct traits<Circulant<ArgType> >
+ {
+ typedef Eigen::Dense StorageKind;
+ typedef Eigen::MatrixXpr XprKind;
+ typedef typename ArgType::Index Index;
+ typedef typename ArgType::Scalar Scalar;
+ enum {
+ Flags = Eigen::ColMajor,
+ RowsAtCompileTime = ArgType::RowsAtCompileTime,
+ ColsAtCompileTime = ArgType::RowsAtCompileTime,
+ MaxRowsAtCompileTime = ArgType::MaxRowsAtCompileTime,
+ MaxColsAtCompileTime = ArgType::MaxRowsAtCompileTime
+ };
+ };
+ }
+}