| 281 | } |
| 282 | |
| 283 | void fill(TestMessage& m, ::std::mt19937_64& gen) { |
| 284 | fill_leaf(m, gen); |
| 285 | fill_middle(*m.mutable_m(), gen); |
| 286 | if (gen() % 2) { |
| 287 | fill_middle(*m.mutable_pm(), gen); |
| 288 | } |
| 289 | for (size_t i = 0; i < gen() % 10; ++i) { |
| 290 | auto rm = m.add_rm(); |
| 291 | fill_middle(*rm, gen); |
| 292 | } |
| 293 | } |
| 294 | |
| 295 | template <typename T> |
| 296 | void fill_leaf(T& o, ::std::mt19937_64& gen) { |