closes#38
Added a preprocessor define CEREAL_OLDER_GCC that exists if using
any GCC 4.7.x or earlier. If this is defined some type traits change to
our original solution (prior to VS compatible), which is probably what we'd switch
to if VS ever gets around to fully supporting SFINAE and constexpr.
In map and set, as well as in unit tests, use insert instead of emplace for 4.7.x.
-Convert to int with constexpr in reader/writer to avoid
always false comparison error in gcc 4.7.3
-make clean now removes visual studio sandbox if built
-fixes to traits for 4.7, still more to do there
see #38
See issue #17
Somewhere along the way we've also broken our ability to compile with GCC 4.7.3. We'll have to decide if we care about
supporting 4.7.3 or not. The changes that break this are:
-there is no emplace in std::map (or related) in 4.7.3
-there are some enable_ifs in rapidjson's writer.h that are always false (which is fine), but
GCC 4.7.3 doesn't like this
Progress towards issue#9, modified unique_ptr<void> to use our empty deleter. Can't do a full test with libc++ because
of various linker errors related to my configuration of libc++. No change in behavior under libstdc++.
So far I've only played around with std::vector<double> for size 7 or size 1M, we are smaller when the header is a
significant portion and the same size (though always smaller due to no header) at larger sizes, but we basically run at
the same speed and same size for vectors of doubles
Using const cast to get rid of having two versions of save (changed vector and array so far)
Initial implementation of seeking to allow saving and restoring position within a binary archive