Skip to content
Snippets Groups Projects
  1. Nov 04, 2016
  2. Oct 25, 2016
    • Carsten Gräser's avatar
      Add overload() and orderedOverload() · 8228b3ae
      Carsten Gräser authored
      These helper functions allow to create overload sets from lambdas.
      E.g. one can merge to lambdas for different argument types into
      one overload set in order to easily implement type-specific behaviour
      when looping over a tuple.
      
      While the result of overload(f1, f2,...) will pick the best match
      for a given set of arguments, orderedOverload(f1,f2,...) will pick
      the first match which allows to prevent ambiguity.
      
      This functionality is proposed for the standard in P0051R2
      (open-std.org/JTC1/SC22/WG21/docs/papers/2016/p0051r2.pdf).
      There overload(...) is proposed and an upcomming proposal
      with the functionality of orderedOverload(...) is announced.
      Since the former is not accepted and the latter is not even written
      I did explicitly implement this in Dune:: instead of Dune::Std::.
      8228b3ae
    • Carsten Gräser's avatar
      Merge branch 'feature/is_callable' into 'master' · 381de64f
      Carsten Gräser authored
      Add implementation of std::is_callable
      
      This is proposed for C++17 and helpful to checking correctness
      of predicates supplied to algorithms. This also commes with
      a test that checks is the behaviour is correct, especially
      with respect to various combinations of r-values, r-value references,
      and l-value-references.
      
      See merge request !151
      381de64f
    • Carsten Gräser's avatar
      [std][test] Add implementatio of std::is_callable · 48408e3b
      Carsten Gräser authored
      This is proposed for C++17 and helpful to checking correctness
      of predicates supplied to algorithms. This also commes with
      a test that checks is the behaviour is correct, especially
      with respect to various combinations of r-values, r-value references,
      and l-value-references.
      48408e3b
  3. Oct 20, 2016
    • Martin Nolte's avatar
      Merge branch 'feature/test-fieldmatrix-cast-operator' into 'master' · fe05ec34
      Martin Nolte authored
      test assignment of matrices with cast operator
      
      Some matrix implementations, e.g., the Jacobian implementations of SPGrid have
      cast operators into the corresponding FieldMatrix type. This patch adds a
      simplified version of such a cast operator to the densematrixassignment test.
      
      See merge request !139
      fe05ec34
  4. Oct 18, 2016
  5. Oct 14, 2016
  6. Oct 12, 2016
    • Christoph Grüninger's avatar
      Merge branch 'feature/cmake-requires-c++14-support' into 'master' · 6878507d
      Christoph Grüninger authored
      [CMake] always use check for C++14
      
      This prevents users to run into compiler errors for unsupported
      compilers like GCC 4.8 or C++ std libraries with insufficient
      C++14 support.
      
      See merge request !120
      6878507d
    • Christoph Grüninger's avatar
      [CMake] always use check for C++14 · 98b52cc2
      Christoph Grüninger authored
      This prevents users to run into compiler errors for unsupported
      compilers like GCC 4.8 or C++ std libraries with insufficient
      C++14 support.
      98b52cc2
    • Christoph Grüninger's avatar
    • Steffen Müthing's avatar
      Merge branch 'feature/variadic-sizeof' into 'master' · 7518e8bd
      Steffen Müthing authored
      Implement workarounds for broken sizeof...
      
      This adds `Dune::SizeOf`  that can be use as `Dune::SizeOf<T...>::value` as a drop in replacement for `sizeof...(T)`. This is necessary because the latter is broken in clang<3.8.
      Because the bug also effects `std::index_sequence_for` we now __always__ provide our manually written fallback implementation `Std::index_sequence_for` that works around the bug by using `SizeOf`.
      
      As a rule of thumb you should always use `SizeOf` instead instead of `sizeof...` in variadic template aliases if you want to avoid compiling code that produces wrong results.
      
      See merge request !127
      7518e8bd
  7. Oct 07, 2016
  8. Oct 06, 2016
  9. Oct 05, 2016
    • Oliver Sander's avatar
      Merge branch 'feature/rework-densematrix-assignment' into 'master' · 61ceb5d1
      Oliver Sander authored
      Rework DenseMatrix assignment
      
      This is meant as a fix for bug #5.
      
      It
      * Enables assignment across different `DenseMatrix` implementations, e.g. assignment from a `DynamicMatrix` to a `FieldMatrix` (this previously either compiled and segfaulted or did not compile)
      * Catches invalid `FieldMatrix` assignments at compile-time
      * Retaines the `DenseMatrixAssigner` class in order to remain compatible with user-defined matrix classes
      
      ~~To me it looks 99% good to go. There is only remaining question that I cannot answer on my own:~~
      * ~~Should `FieldMatrix<double, 3, 3> x = 27` compile? In other words, should the constructor be marked as `explicit` or not? Of course, one can always use `FieldMatrix<double, 3, 3> x(27)` instead.~~
      
      I've tested this fix with multiple modules and it doesn't break anything for me.
      
      See merge request !52
      61ceb5d1
  10. Oct 02, 2016
  11. Sep 21, 2016
  12. Sep 19, 2016
Loading