Browse Source

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
nce_cpp
Weiyi Wang 7 years ago
committed by fearlessTobi
parent
commit
bed349ba51
  1. 2
      src/common/swap.h

2
src/common/swap.h

@ -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);

Loading…
Cancel
Save