всё равно не выходит у данилы каменный цветок. На этот раз в том что я не могу добиться mandatory copy elision. Я возвращаю std::array<Server, N>, но мне перед возвратом необходимо этот массив обработать. Сооветственно если я делаю return std::array, всё работает. Если я декларирую std::array не стэке, а затем его возвращаю, компилятор требует наличия в Server move/copy constructor . Есть какие-то хаки чтобы mandatory copy elision работала но при этом перед возвратом объект можно было как-то обработать?
Что насчёт того, чтобы сделать как я показывал?
Обработка будет происходить до того, как создастся массив, в лямбде, которая создаёт объект