Я хочу как можно больше заменить внешние библиотеки (например, boost) своими эквивалентами в стандартном С++, если они существуют, и возможно, минимизировать зависимости, поэтому я задаюсь вопросом, существует ли безопасный способ преобразования boost::system::error_code
в std::error_code
. Пример псевдокода:
void func(const std::error_code & err)
{
if(err) {
//error
} else {
//success
}
}
boost::system::error_code boost_err = foo(); //foo() returns a boost::system::error_code
std::error_code std_err = magic_code_here; //convert boost_err to std::error_code here
func(std_err);
Самое главное - это не точно такая же ошибка, как можно ближе и, наконец, если это ошибка или нет. Есть ли какие-нибудь умные решения?
Спасибо заранее!