Skip to content
Snippets Groups Projects
  1. May 16, 2019
  2. Apr 10, 2019
  3. Apr 09, 2019
    • Carsten Gräser's avatar
      Get rid of toVector() · d883ca6e
      Carsten Gräser authored and Oliver Sander's avatar Oliver Sander committed
      Using the wrapper generated by `asVector()` we can get rid of `toVector()`.
      The important difference is, that `toVector()` invokes undefined behaviour
      by dereferencing the result of an aliasing `reinterpret_cast`. However,
      there's no noteable properties of the new implementation:
      * You can't use `asVector()` directly in calls to `mv()` and friends,
        because the latter is not robust wrt. to proxy references.
      * When creating copies of values, you can't replace
        `auto rhs = v[i];` by `auto rhs = Impl::asVector(v[i])`
        because proxy references don't use deep copy on purpose.
        Instead we have to use the two step
        `auto rhsValue = v[i]; auto&& rhs = Impl::asVector(rhsValue);`
      d883ca6e
    • Carsten Gräser's avatar
      Add missing include · 36190383
      Carsten Gräser authored and Oliver Sander's avatar Oliver Sander committed
      36190383
    • Carsten Gräser's avatar
      Simplify scalar entries in block vector classes · 0e962e10
      Carsten Gräser authored and Oliver Sander's avatar Oliver Sander committed
      Using `Impl::asVector()` we can get rid of several `Hybrid::ifElse()`
      constructions used to implement the special case of scalar entries
      (i.e. `IsNumber==true`).
      0e962e10
  4. Mar 22, 2019
  5. Mar 08, 2019
  6. Mar 07, 2019
  7. Mar 05, 2019
  8. Mar 04, 2019
Loading