| 258 | typename = std::enable_if_t<IsStringLike<Name>::value>, |
| 259 | typename = std::enable_if_t<IsExprLike<Value>::value>> |
| 260 | StructExprField NewStructField(ExprId id, Name name, Value value, |
| 261 | bool optional = false) { |
| 262 | StructExprField field; |
| 263 | field.set_id(id); |
| 264 | field.set_name(std::move(name)); |
| 265 | field.set_value(std::move(value)); |
| 266 | field.set_optional(optional); |
| 267 | return field; |
| 268 | } |
| 269 | |
| 270 | template < |
| 271 | typename Name, typename Fields, |