|
29 | 29 | #else // #ifdef COMMS_MUST_DEFINE_BASE |
30 | 30 | #define COMMS_FIELD_VALUE_ACCESS_FUNC FUNC_AUTO_REF_RETURN(value, decltype(comms::field::toFieldBase(*this).value())) |
31 | 31 | #define COMMS_FIELD_VALUE_ACCESS_CONST_FUNC FUNC_AUTO_REF_RETURN_CONST(value, decltype(comms::field::toFieldBase(*this).value())) |
32 | | -#define COMMS_ACCESS_MEMBER_FIELD_FUNC(T_, t_, n_) FUNC_AUTO_REF_RETURN(COMMS_CONCATENATE(field_, n_), decltype(static_cast<std::size_t>(std::get<COMMS_CONCATENATE(FieldIdx_, n_))>(t_))) |
33 | | -#define COMMS_ACCESS_MEMBER_FIELD_CONST_FUNC(T_, t_, n_) FUNC_AUTO_REF_RETURN_CONST(COMMS_CONCATENATE(field_, n_), decltype(std::get<static_cast<std::size_t>(COMMS_CONCATENATE(FieldIdx_, n_))>(t_))) |
| 32 | +#define COMMS_ACCESS_MEMBER_FIELD_FUNC(T_, t_, n_) FUNC_AUTO_REF_RETURN(COMMS_CONCATENATE(field_, n_), decltype(std::get<COMMS_CONCATENATE(FieldIdx_, n_)>(t_))) |
| 33 | +#define COMMS_ACCESS_MEMBER_FIELD_CONST_FUNC(T_, t_, n_) FUNC_AUTO_REF_RETURN_CONST(COMMS_CONCATENATE(field_, n_), decltype(std::get<COMMS_CONCATENATE(FieldIdx_, n_)>(t_))) |
34 | 34 | #define COMMS_MSG_FIELDS_ACCESS_FUNC FUNC_AUTO_REF_RETURN(fields, decltype(comms::toMessageBase(*this).fields())) |
35 | 35 | #define COMMS_MSG_FIELDS_ACCESS_CONST_FUNC FUNC_AUTO_REF_RETURN_CONST(fields, decltype(comms::toMessageBase(*this).fields())) |
36 | 36 | #endif // #ifdef COMMS_MUST_DEFINE_BASE |
37 | 37 |
|
38 | 38 | #define COMMS_FIELD_ACC_FUNC(T_, t_, n_) \ |
39 | 39 | COMMS_ACCESS_MEMBER_FIELD_FUNC(T_, t_, n_) {\ |
40 | | - return std::get<static_cast<std::size_t>(COMMS_CONCATENATE(FieldIdx_, n_))>(t_); \ |
| 40 | + return std::get<COMMS_CONCATENATE(FieldIdx_, n_)>(t_); \ |
41 | 41 | } \ |
42 | 42 | COMMS_ACCESS_MEMBER_FIELD_CONST_FUNC(T_, t_, n_) {\ |
43 | | - return std::get<static_cast<std::size_t>(COMMS_CONCATENATE(FieldIdx_, n_))>(t_); \ |
| 43 | + return std::get<COMMS_CONCATENATE(FieldIdx_, n_)>(t_); \ |
44 | 44 | } |
45 | 45 |
|
46 | 46 | #define COMMS_FIELD_ACC_FUNC_1(T_, t_, n_) COMMS_FIELD_ACC_FUNC(T_, t_, n_) |
|
353 | 353 |
|
354 | 354 | #define COMMS_FIELD_ACC_FUNC_NOTEMPLATE(n_) \ |
355 | 355 | typename std::tuple_element<COMMS_CONCATENATE(FieldIdx_, n_), ValueType>::type& COMMS_CONCATENATE(field_, n_)() {\ |
356 | | - return std::get<static_cast<std::size_t>(COMMS_CONCATENATE(FieldIdx_, n_))>(value()); \ |
| 356 | + return std::get<COMMS_CONCATENATE(FieldIdx_, n_)>(value()); \ |
357 | 357 | } \ |
358 | 358 | const typename std::tuple_element<COMMS_CONCATENATE(FieldIdx_, n_), ValueType>::type& COMMS_CONCATENATE(field_, n_)() const {\ |
359 | | - return std::get<static_cast<std::size_t>(COMMS_CONCATENATE(FieldIdx_, n_))>(value()); \ |
| 359 | + return std::get<COMMS_CONCATENATE(FieldIdx_, n_)>(value()); \ |
360 | 360 | } |
361 | 361 |
|
362 | 362 | #define COMMS_FIELD_ACC_FUNC_NOTEMPLATE_1(n_) COMMS_FIELD_ACC_FUNC_NOTEMPLATE(n_) |
|
0 commit comments