Как бы такое в умный контейнер положить
От: Мёртвый Даун Россия  
Дата: 08.02.19 08:21
Оценка:
Есть порядка 20 различных параметров X возможно разного типа. Какие то из них IN, какие то OUT, какие то IN/OUT, одни обязательные, другие нет (т.е. могут быть не указаны). Все они друг от друга зависят.

Т.е. в лоб это можно написать так,

bool CalculateA(IN int p0,
               IN char* p1,
               IN char* p2,
               IN double p3,
               INOUT double* p4,
               INOUT int* p5,
               OUT char* p6,
               OUT double* p7,
               OUT int* p8
              )
{
    // какие то расчеты по какому то известному алгоритму.
}

bool CalculateB(IN int p0,
               IN char* p1,
               IN double p2,
               INOUT double* p3,
               INOUT int* p4,
               OUT char* p5,
               OUT double* p6
              )
{
    // какие то расчеты по какому то известному алгоритму.
}


Функций таких много и писать такие развесистые функции по 20 параметров не хочется.

Подкиньте идеи по красивше сделать. C++03/C++11.
Спасибо.

UPD: почитал тут в соседнем топике про Ranges. Очень крута, наверное это бы мне подошло. Но не дадут заюзать в проекте.
UPD2: забыл сказать, функции эти будут лежать в Win32 DLL, которая ничего не знает о структурах и интерфейсе приложения. По сути просто расчетная библиотека там будет.
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Отредактировано 08.02.2019 9:00 Мёртвый Даун . Предыдущая версия . Еще …
Отредактировано 08.02.2019 8:26 Мёртвый Даун . Предыдущая версия .
Отредактировано 08.02.2019 8:22 Мёртвый Даун . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.