Подставка Boost для C ++ 0x Особенности библиотеки - PullRequest
3 голосов
/ 09 января 2011

Я работаю над библиотекой, которая интенсивно использует новейшие возможности языка C ++ 0x и библиотечные функции.Я в основном разрабатываю для Linux с gcc4.6, но хотел бы протестировать в OS X (потому что Apple делает отличные инструменты профилирования).К сожалению, во всех версиях libstdc ++, которые поставляются с любым gcc4.6 для OS X, я обнаружил, что их функции <thread> отключены (см. здесь для моего вопроса о SO, как это исправить).

А пока у кого-нибудь есть идеи относительно минимально инвазивного (для моей библиотеки) способа, которым я могу заменить библиотеку потоков Boost на стандартную?Я бы предпочел не прибегать к sed, потому что я делюсь этим проектом через SVN и хотел бы проверить свои изменения, не заставляя всех остальных переключаться на boost :: thread, boost :: mutex и т. Д.

1 Ответ

4 голосов
/ 09 января 2011

Это не стандартный код жалобы, поскольку вы не можете изменять внутреннюю часть пространства имен std, но он должен работать на большинстве компиляторов:

#include <boost/your_headers.hpp>
namespace std {
    using boost::thread;
    using boost::mutex;
    // ...
}

оставшийся код не изменяется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...