From 3da2bbcd72e5c5b98dc5462b2aa77913833700f2 Mon Sep 17 00:00:00 2001 From: Uli Sack <usack@math.fu-berlin.de> Date: Mon, 27 Oct 2014 22:14:47 +0100 Subject: [PATCH] introduce Construction via initializer list; copied more or less from FieldVector, see also FS#1166 --- dune/common/diagonalmatrix.hh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dune/common/diagonalmatrix.hh b/dune/common/diagonalmatrix.hh index 51b750ecd..c8b66b24f 100644 --- a/dune/common/diagonalmatrix.hh +++ b/dune/common/diagonalmatrix.hh @@ -7,10 +7,12 @@ \brief This file implements a quadratic diagonal matrix of fixed size. */ +#include <algorithm> #include <cassert> #include <cmath> #include <complex> #include <cstddef> +#include <initializer_list> #include <iostream> #include <memory> @@ -106,6 +108,13 @@ namespace Dune { : diag_(diag) {} + DiagonalMatrix (std::initializer_list<K> const &l) + { + assert(l.size() == rows);// Actually, this is not needed any more! + std::copy_n(l.begin(), std::min(static_cast<std::size_t>(rows), + l.size()), + diag_.begin()); + } /** \brief Assignment from a scalar */ DiagonalMatrix& operator= (const K& k) -- GitLab