Как лучше поступить с библиотекой, в которой ни одна функция не помечена как константа?

Я пытаюсь реализовать использование библиотеки C++ в моем проекте, который не использует модификаторы const в своих функциях доступа. До сих пор я использовал const во всем своем коде, но эта новая библиотека вызывает две основные проблемы:

  1. Функции, в которых аргументы передаются как константные ссылки, не могут использовать функции доступа к аргументам, если эти аргументы имеют тип, определенный библиотека.

  2. Классы с объектами-членами типов, определенных библиотекой, не могут использовать функции доступа к этим объектам внутри константной функции.

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

Дополнительная информация:В этом случае у меня есть доступ к исходному коду, и я вижу, что функции доступа ничего не изменяют. Я опустил эту информацию, так как меня интересовал и более общий случай. Для моего сценария const_castкажется правильным

PS Автор библиотеки не зло! Это скорее грубый и готовый код, который он любезно выложил в открытый доступ. Я мог бы отказаться от библиотеки и использовать что-то более профессиональное, как отмечали другие.Однако для этого небольшого проекта, ограниченного по времени, простота интерфейса этой библиотеки сделала ее лучшим выбором.

7
задан Tim MB 23 May 2012 в 09:55
поделиться