Fix usage of is_trivially_copyable on older GCC (for real this time)

This commit is contained in:
Vojtech Kral 2019-01-22 11:12:50 +01:00
parent cada2a313f
commit a85db038be
3 changed files with 14 additions and 6 deletions

View file

@ -159,6 +159,16 @@ template<class T> size_t next_highest_power_of_2(T v,
extern std::string xml_escape(std::string text);
#if defined __GNUC__ & __GNUC__ < 5
// Older GCCs don't have std::is_trivially_copyable
// cf. https://gcc.gnu.org/onlinedocs/gcc-4.9.4/libstdc++/manual/manual/status.html#status.iso.2011
#warning "GCC version < 5, faking std::is_trivially_copyable"
template<typename T> struct IsTriviallyCopyable { static constexpr bool value = true; };
#else
template<typename T> struct IsTriviallyCopyable : public std::is_trivially_copyable<T> {};
#endif
class ScopeGuard
{
public: