- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
auto objs = it.get_objects();
switch(objs.size())
{
case 1: sent = _out_stream.send_message(objs[0]);
break;
case 2: sent = _out_stream.send_message(objs[0], objs[1]);
break;
case 3: sent = _out_stream.send_message(objs[0], objs[1], objs[2]);
break;
case 4: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3]);
break;
case 5: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4]);
break;
case 6: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5]);
break;
case 7: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5],
objs[6]);
break;
case 8: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5],
objs[6], objs[7]);
break;
case 9: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5],
objs[6], objs[7], objs[8]);
break;
case 10: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5],
objs[6], objs[7], objs[8], objs[9]);
break;
case 11: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5],
objs[6], objs[7], objs[8], objs[9], objs[10]);
break;
case 12: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5],
objs[6], objs[7], objs[8], objs[9], objs[10], objs[11]);
break;
case 13: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5],
objs[6], objs[7], objs[8], objs[9], objs[10], objs[11],
objs[12]);
break;
case 14: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5],
objs[6], objs[7], objs[8], objs[9], objs[10], objs[11],
objs[12], objs[13]);
break;
case 15: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5],
objs[6], objs[7], objs[8], objs[9], objs[10], objs[11],
objs[12], objs[13], objs[14]);
break;
case 16: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5],
objs[6], objs[7], objs[8], objs[9], objs[10], objs[11],
objs[12], objs[13], objs[14], objs[15]);
break;
case 17: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5],
objs[6], objs[7], objs[8], objs[9], objs[10], objs[11],
objs[12], objs[13], objs[14], objs[15], objs[16]);
break;
case 18: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5],
objs[6], objs[7], objs[8], objs[9], objs[10], objs[11],
objs[12], objs[13], objs[14], objs[15], objs[16], objs[17]);
break;
case 19: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5],
objs[6], objs[7], objs[8], objs[9], objs[10], objs[11],
objs[12], objs[13], objs[14], objs[15], objs[16], objs[17],
objs[18]);
break;
case 20: sent = _out_stream.send_message(objs[0], objs[1], objs[2], objs[3], objs[4], objs[5],
objs[6], objs[7], objs[8], objs[9], objs[10], objs[11],
objs[12], objs[13], objs[14], objs[15], objs[16], objs[17],
objs[18], objs[19]);
break;
default:
fprintf(stderr, "error: Too much attached objects (%lu), talk to developer\n", objs.size());
return false;
}
if (!sent)
{
fprintf(stderr, "error: Unable to send message to output pipe\n");
return false;
}
Меня заставили это сделать, потому что по задумке число вложенных объектов известно на этапе разработки, а у меня - нет.