Skip to content
Snippets Groups Projects
  1. Apr 20, 2015
  2. Apr 10, 2015
  3. Mar 15, 2015
  4. Mar 13, 2015
  5. Mar 12, 2015
  6. Mar 10, 2015
  7. Feb 27, 2015
  8. Feb 25, 2015
  9. Feb 12, 2015
  10. Feb 09, 2015
  11. Feb 06, 2015
    • Steffen Müthing's avatar
      [Utility] Add infrastructure to handle operator->() for both lvalues and proxies · 7623a530
      Steffen Müthing authored
      If an iterator facade (like entity iterators) wants to allow the
      embedded implementation to return either an (internally stored)
      reference or a temporary object and expose these two behaviors to enable
      performance optimizations, operator->() needs special handling: If the
      implementation returns a reference, operator->() in the facade can
      simply return the address of the referenced object, but if the returned
      object is a temporary, we need to capture and store it in a helper
      object to make sure it outlives the member access.
      
      This patch adds a little helper function that tansparently handles both
      cases.
      7623a530
    • Steffen Müthing's avatar
      [ForLoop] Port ForLoop TMP to C++11 · 732ca75c
      Steffen Müthing authored
      The ForLoop TMP used to put a number of restrictions on the arguments to
      apply(), mainly due to the limited capabilities of C++01 wrt. to
      argument forwarding.
      
      But now we have C++11, so we can throw away all that awkward code and
      replace it with a single forwarding function that supports arbitrary
      numbers of arbitrary combinations of lvalues and rvalues - all hail
      variadic templates and perfect forwarding!
      732ca75c
  12. Jan 11, 2015
  13. Dec 29, 2014
  14. Dec 26, 2014
  15. Dec 18, 2014
    • Jö Fahlke's avatar
      14cbee71
    • Jö Fahlke's avatar
      [threads] Introduce DUNE_ASSERT_CALL_ONCE and assertCallOnce(). · 92947aaf
      Jö Fahlke authored
      These check whether std::call_once() works and provide a helpful error message
      if it does not.  They should be used in any code that uses std::call_once().
      
      Call once may not work if one forgets to _link_ with -pthread (or similar
      options).  The nasty think about this is that linking still succeeds, so this
      can only be detected at run time.  We cannot (in general) run compiled
      programs during configure, since we may be cross-compiling, so whatever we get
      from configure is at best a guess.
      
      Even if configure detects the necessary flags correctly, there may still be
      errors in the build system such that the executable is linked without them.
      
      The reason to provide such a facility is that the bug is quite difficult to
      debug when it appears.  The error message is mangled due to a different bug,
      and is quite unhelpful anyway.  And then there is the fun with weak symbols...
      92947aaf
  16. Dec 05, 2014
  17. Dec 02, 2014
  18. Dec 01, 2014
  19. Nov 28, 2014
Loading