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
parent 985cd878e6
commit fa9d6b79f9

View file

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