1
0
Fork 0
forked from suyu/suyu

common/swap: remove default value for swap type internal storage

This is compromise for swap type being used in union. A union has deleted default constructor if it has at least one variant member with non-trivial default constructor, and no variant member of T has a default member initializer. In the use case of Bitfield, all variant members will be the swap type on endianness mismatch, which would all have non-trivial default constructor if default value is specified, and non of them can have member initializer
This commit is contained in:
Weiyi Wang 2019-01-25 12:16:00 -05:00 committed by fearlessTobi
parent 6734c64976
commit 71530781f3

View file

@ -172,7 +172,7 @@ struct swap_struct_t {
using swapped_t = swap_struct_t; using swapped_t = swap_struct_t;
protected: protected:
T value = T(); T value;
static T swap(T v) { static T swap(T v) {
return F::swap(v); return F::swap(v);