Допустим, у меня есть некий класс Process
, позволяющий запускать исполняемый файл с аргументами, приделывать файл на ввод-вывод и ждать завершения. Интерфейс по возможности платформонезависимый, т.е. всякие там std::filesystem
вместо строк для путей и т.д.
Думаю, что будет process.h
с интерфейсом и что-то типа process_unix.cpp
и process_win.cpp
, которые приделываются CMake-ом в зависимости от платформы. Вопрос: куда пихать приватные платформозависимые поля, типа PID в Unix?
Пока в голову приходит только void*
на структуру с полями, определённую в cpp-шнике, и каст к указателю на структуру в нём же, но выглядит некрасиво. Есть решения получше?