Warning:
src/BoardRep.h:49:12: warning: ‘BoardRep::BoardRep::Row::::a’
is too small to hold all values of ‘enum class BoardRep::Piec
According to the C++ Standard
8 For an enumeration whose underlying type is fixed, the values of the enumeration are the values of the underlying type.
So the values of your enumeration are in the range
std::numeric_limits::min() - std::numeric_limits::max()
Bit field a defined as
Piece a:2;
can not hold all values of the enumeration.
If you would define an unscoped enumeration without a fixed underlying type then the range of its values would be
0 - 2