diff C++/Pack.h @ 295:345aaeb5e0ba

Pack: fix constexpr can't be used on void return types
author David Demelier <markand@malikania.fr>
date Thu, 13 Nov 2014 21:07:48 +0100
parents 7433ebe6a8b0
children 24085fae3162
line wrap: on
line diff
--- a/C++/Pack.h	Thu Nov 13 21:04:28 2014 +0100
+++ b/C++/Pack.h	Thu Nov 13 21:07:48 2014 +0100
@@ -366,7 +366,7 @@
 
 template <>
 struct Pack::TypeInfo<uint8_t> : public Pack::Convertible {
-	static constexpr void convert(uint8_t &) noexcept
+	static inline void convert(uint8_t &) noexcept
 	{
 		// uint8_t are endian independent
 	}
@@ -374,7 +374,7 @@
 
 template <>
 struct Pack::TypeInfo<uint16_t> : public Pack::Convertible {
-	static constexpr void convert(uint16_t &v)
+	static inline void convert(uint16_t &v)
 	{
 		v = (((v >> 8) & 0x00FFL) | ((v << 8) & 0xFF00L));
 	}
@@ -382,7 +382,7 @@
 
 template <>
 struct Pack::TypeInfo<uint32_t> : public Pack::Convertible {
-	static constexpr void convert(uint32_t &v)
+	static inline void convert(uint32_t &v)
 	{
 		v = ((((v) >> 24) & 0x000000FFL)
 		    | (((v) >> 8)  & 0x0000FF00L)
@@ -393,7 +393,7 @@
 
 template <>
 struct Pack::TypeInfo<uint64_t> : public Pack::Convertible {
-	static constexpr void convert(uint64_t &v)
+	static inline void convert(uint64_t &v)
 	{
 		v = ((((v) & 0xff00000000000000ull) >> 56)
 			| (((v) & 0x00ff000000000000ull) >> 40)