1 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 // vi: set et ts=4 sw=2 sts=2:
3 
4 #ifdef HAVE_CONFIG_H
5 #include "config.h"
6 #endif
7 
8 #include <array>
9 #include <iostream>
10 
11 #include <dune/common/std/make_array.hh>
12 #include <dune/common/classname.hh>
13 #include <dune/common/fvector.hh>
14 #include <dune/common/streamoperators.hh>
15 
16 template<class T, std::size_t n>
f(const std::array<T,n> & a)17 void f(const std::array<T, n> &a)
18 {
19   using Dune::operator<<;
20   std::cout << "Got a " << Dune::className(a) << " with elements " << a << std::endl;
21 }
22 
main()23 int main() {
24   // check that make_array works
25   f(Dune::Std::make_array(1, 2));
26   f(Dune::Std::make_array(1, 2, 3));
27   f(Dune::Std::make_array(1, 2, 3, 4));
28   f(Dune::Std::make_array(1, 2, 3, 4, 5));
29   f(Dune::Std::make_array(1, 2, 3, 4, 5, 6));
30   f(Dune::Std::make_array(1, 2, 3, 4, 5, 6, 7));
31   f(Dune::Std::make_array(1, 2, 3, 4, 5, 6, 7, 8));
32   f(Dune::Std::make_array(1, 2, 3, 4, 5, 6, 7, 8, 9));
33   f(Dune::Std::make_array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
34 
35   Dune::FieldVector<double, 2> x(0);
36   f(Dune::Std::make_array(x, x));
37 }
38