- Oct 11, 2013
-
-
Christoph Grüninger authored
Thanks to Tobias Malkmus for the heads-up.
-
- Oct 09, 2013
-
-
Steffen Müthing authored
This patch adds a new header visibility.hh with macros DUNE_EXPORT and DUNE_PRIVATE to mark symbols as exported or private at the ABI level. While we do not explicitly mark any symbols as hidden, there are certain situations in which the compiler creates symbols with incorrect linkage, especially for singleton accessor methods for templated types and their embedded static variables, which involve the creation of weak symbols. The linker is then unable to merge those weak definitions, causing either a link-time failure (when building static libraries) or undefined runtime behaviour (dynamic libraries). This problem can be avoided by explicitly marking the singleton accessor methods as DUNE_EXPORT. For symmetry, there is also a DUNE_PRIVATE macro, but while it works, I don't see it used very much in the short term.
-
- Oct 05, 2013
-
-
- Oct 02, 2013
-
-
Martin Nolte authored
This patch removes an extra header install command for tests. It originally came when copying dune/common/CMakeLists.txt to dune/common/std/CMakeLists.txt. Sorry for the noise.
-
Martin Nolte authored
The majority of developers favor individual headers for (emulation of) C++11 features over collecting them in a single header cxx11.hh. This patch renames cxx11.hh to constexpr.hh and moves it into the subdirectory std. This is the place most developers would like these headers in (see http://users.dune-project.org/doodles/4).
-
- Oct 01, 2013
-
-
Martin Nolte authored
As decided on the developer meeting in Aachen, we support (but do not rely on) the C++11 keyword constexpr. This patch adds an m4-check for constexpr and a header (cxx11.hh) defining a macro DUNE_CONSTEXPR either as constexpr or empty (depending on the compiler support for it). It is then used in FieldVector and FieldMatrix on size, rows, and cols.
-
- Sep 27, 2013
-
-
Oliver Sander authored
-
Oliver Sander authored
-
Oliver Sander authored
-
Oliver Sander authored
-
Oliver Sander authored
-
Oliver Sander authored
-
Oliver Sander authored
-
Oliver Sander authored
-
Oliver Sander authored
-
- Sep 23, 2013
-
-
Markus Blatt authored
Previously, a variable (found) was only initialized in one branch of an if statement but used later on in any case. This patch makes sure that is initialized in both branches.
-
Markus Blatt authored
-
- Sep 19, 2013
-
-
Christoph Grüninger authored
-
- Sep 18, 2013
-
-
Markus Blatt authored
-
- Sep 10, 2013
-
-
The current algorithm for hash combining behaves very poorly when hashing multiple short streams of small integers like (0,1,1,0,x) that only differ by a single large number x. These objects appear frequently in PDELab's ordering framework, and the resulting bad hash distribution really hurts the performance of the unordered containers in PDELab. This patch switches to an algorithm that is inspired by CityHash (see the source code comment) and has proven to be much more robust in testing.
-
- Sep 02, 2013
-
-
Oliver Sander authored
Because C++11 implements this differently, and we now have an stl-compliant implementation to switch to. I would deprecate isPointer and isReference too, but I can't find a way to do it.
-
Oliver Sander authored
These are replacements for TypeTraits::isPointer, TypeTraits::isReference, TypeTraits::PointeeType. They reimplement what is available in the C++11 standard library, and are expected to supersede the TypeTraits class eventually. Note: this patch does not pull in the corresponding stl implementation.
-
Oliver Sander authored
That's easier to maintain.
-
Oliver Sander authored
-
Oliver Sander authored
-
- Aug 27, 2013
-
-
Steffen Müthing authored
If not found, our own fallback implementation will be used.
-
- Aug 26, 2013
-
-
Oliver Sander authored
A previous commit introduced a check whether the element to-be-touched is actually contained in the container. That patch caused the test to fail. The new patch fixes this.
-
Oliver Sander authored
-
- Aug 23, 2013
-
-
Oliver Sander authored
The two classes PushBackTuple and PushFrontTuple are both implemented using a long list of template specializations. This makes for a lot of code, and it also limits the maximum tuple size that can be used. Using variadic templates (FYI: available since gcc-4.3) instead allows a generic implementation in only a few lines of code, and only the compiler being the upper limit on tuple size. An implementation using variadic templates has already been given in the documentation of PushBackTuple/PushFrontTuple. This patch starts to actually use that implementation, provided that HAVE_VARIADIC_TEMPLATES is set. Otherwise the old implementation is used.
-
- Aug 22, 2013
-
-
Markus Blatt authored
-
- Aug 19, 2013
-
-
Oliver Sander authored
Because the latter uses the C++11 standard library naming.
-
Oliver Sander authored
-
Martin Nolte authored
-
Tobias Malkmus authored
-
- Aug 18, 2013
-
-
Oliver Sander authored
-
Oliver Sander authored
The C++11 standard library offers the functionality of SelectType, it is, however, called 'conditional'. This patch adds a copy of our SelectType implementation with the class names changed to match the ones used in C++11. The old SelectType implementation gets deprecated.
-
Oliver Sander authored
-
Oliver Sander authored
-
Oliver Sander authored
-
Oliver Sander authored
-