Можно ли преобразовать boost :: system :: error_code в std: error_code?

Я хочу заменить внешние библиотеки (например, boost) в максимально возможной степени их эквивалентами в стандарте C ++, если они существуют и возможно минимизировать зависимости, поэтому мне интересно, существует ли безопасный способ преобразованияboost::system::error_code вstd::error_code, Пример псевдокода:

<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);
</code>

Самое главное, что это не та же самая ошибка, просто настолько близкая к возможной, и, наконец, если это ошибка или нет. Есть ли какие-нибудь умные решения?

Заранее спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос