#define _IOSskipws 0x0001
#define _IOSunitbuf 0x0002
#define _IOSuppercase 0x0004
#define _IOSleft 0x0040
#define _IOSright 0x0080
#define _IOSinternal 0x0100
template<class _Dummy>
class _Iosb
{ // define templatized bitmask/enumerated types, instantiate on demand
public:
enum _Dummy_enum {_Dummy_enum_val = 1}; // don't ask
enum _Fmtflags
{ // constants for formatting options
_Fmtmask = 0xffff, _Fmtzero = 0};
static constexpr _Fmtflags skipws = (_Fmtflags)_IOSskipws;
static constexpr _Fmtflags unitbuf = (_Fmtflags)_IOSunitbuf;
static constexpr _Fmtflags adjustfield = (_Fmtflags)(_IOSleft
| _IOSright | _IOSinternal);
Почему нельзя было объявить _IOSskipws и другие поля внутри перечисления _Fmtflags ?
Правильно ли понимаю, что после присвоения _Fmtflags skipws = (_Fmtflags)_IOSskipws; _IOSskipws становится челном перечисления _Fmtflags ?
Оказывают ли поля _Fmtmask = 0xffff, _Fmtzero = 0 перечисления _Fmtflags, какое либо влияние на поля _IOSskipws и другие поля, например, поле skipws поменяет значение своих битов после присвоения ?