Fix IsTriviallyCopyable for volatile (fixes Mac build).

Between C++11 and C++14, volatile types stopped being trivially
copyable.  The serializer has no reason to care about this distinction,
so tack on remove_volatile.
This commit is contained in:
comex 2014-03-27 23:42:52 -04:00
parent 9b8296d5ab
commit 4d5df0d008

View File

@ -28,7 +28,7 @@
// ewww // ewww
#if _LIBCPP_VERSION #if _LIBCPP_VERSION
#define IsTriviallyCopyable(T) std::is_trivially_copyable<T>::value #define IsTriviallyCopyable(T) std::is_trivially_copyable<typename std::remove_volatile<T>::type>::value
#elif __GNUC__ #elif __GNUC__
#define IsTriviallyCopyable(T) std::has_trivial_copy_constructor<T>::value #define IsTriviallyCopyable(T) std::has_trivial_copy_constructor<T>::value
#elif _MSC_VER >= 1800 #elif _MSC_VER >= 1800