Есть такая ситуация: Кроссплатформенная прожка на плюсах в которой появилась необходимость лукапа некого обьекта по поинтеру, например так:
std::map<CoreInterface const*, std::string> nameMapping;
Собственно вопрос, как быть?
Пока видятся следующе варианты решения:
- Использовать tr1 или c++11 и заставить солярщиков обновить гцц (не очень приятно, но жить можно)
- Использовать буст и заставить вобще всех ставить себе буст ради возможности попользоваться моей прожкой (совсем неприятно, жить тоже так как-то не хочется)
- Навелосипедиь свой shared_ptr, может быть на основе бустового (и разгребать потом проблемы с безопасностью, эксепшонами и многотредовостью)
- Оставить голые поинтеры как есть (тоже не сахар, зато двигаться не надо совсем)
Ваши предложения?