USCiLab/cereal — pull request #7 by neomantra (2013-07-12 17:47:23+00:00)
Title: Minor changes to support gcc 4.7

This passes unit tests on my machine, but is only tested with gcc 4.7.3. FYI, Ubuntu 13.04 comes with gcc 4.7.3.

By inspection, I think the changes to `cereal.hpp` will work everywhere (and it only loses one little C++11 nicety), but I'm don't totally understand the lambda capture changes in `polymorphic_impl.hpp`.

```
gcc 4.7 has significant C++11 support, but is missing some features.
See http://gcc.gnu.org/gcc-4.7/cxx0x_status.html

* #include was needed to find std::runtime_error

* gcc 4.7 does not support "Inheriting constructors". This was fixed by using
the traditional method of explicitly declaring the constructors.

* Some lambda expressions needed extra love. More color here:
http://stackoverflow.com/questions/4940259/c11-lambdas-require-capturing-this-to-call-static-member-function

These changes are minor so I did not use gcc version detection via preprocessor.
```