Сообщение Как бы такое в умный контейнер положить от 08.02.2019 8:21
Изменено 08.02.2019 9:00 Мёртвый Даун
Как бы такое в умный контейнер положить
Есть порядка 20 различных параметров X возможно разного типа. Какие то из них IN, какие то OUT, какие то IN/OUT, одни обязательные, другие нет (т.е. могут быть не указаны). Все они друг от друга зависят.
Т.е. в лоб это можно написать так,
Функций таких много и писать такие развесистые функции по 20 параметров не хочется.
Подкиньте идеи по красивше сделать. C++03/C++11.
Спасибо.
UPD: почитал тут в соседнем топике про Ranges. Очень крута, наверное это бы мне подошло. Но не дадут заюзать в проекте.
Т.е. в лоб это можно написать так,
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. Очень крута, наверное это бы мне подошло. Но не дадут заюзать в проекте.
Как бы такое в умный контейнер положить
Есть порядка 20 различных параметров X возможно разного типа. Какие то из них IN, какие то OUT, какие то IN/OUT, одни обязательные, другие нет (т.е. могут быть не указаны). Все они друг от друга зависят.
Т.е. в лоб это можно написать так,
Функций таких много и писать такие развесистые функции по 20 параметров не хочется.
Подкиньте идеи по красивше сделать. C++03/C++11.
Спасибо.
UPD: почитал тут в соседнем топике про Ranges. Очень крута, наверное это бы мне подошло. Но не дадут заюзать в проекте.
UPD2: забыл сказать, функции эти будут лежать в Win32 DLL, которая ничего не знает о структурах и интерфейсе приложения. По сути просто расчетная библиотека там будет.
Т.е. в лоб это можно написать так,
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, которая ничего не знает о структурах и интерфейсе приложения. По сути просто расчетная библиотека там будет.