Как вы сказали в этом вопросе, в Boost 1.48 появилась boost::move
, библиотека, которая эмулирует семантику перемещения с C ++ 03. Это было разработано Ионом Гастанага, который также (в основном) написал и в настоящее время поддерживает boost::intrusive
и boost::container
.
И навязчивая, и контейнерная поддержка перемещают семантику - на самом деле boost::intrusive
должна поддерживать семантику перемещения для boost::container
to, потому что boost::container
- это, по сути, группа неинтрузивных контейнеров, реализованных путем упаковки их boost::intrusive
аналогов. Мне кажется, что навязчивость / контейнер были мотивом для написания boost::move
, поэтому неудивительно, что у них есть преимущество перед остальными бустами.
Но важно отметить, что здесь нет дорожной карты или комитета повышения - повышение - это просто набор библиотек, которые совместно используют распространение, веб-сайт и процесс проверки / контроля качества. Вы должны рассматривать каждую библиотеку как отдельный проект, который будет обновляться только в том случае, если авторы / сопровождающие заинтересованы в выполнении работы (или, конечно, когда вы отправите им патч!).
Повышение 1.48 / 1.49 / 1.50 / 1.51 / 1.52 Примечания к выпуску - лучшее место искать твердые ответы:
- Boost.Interprocess поддерживается с 1.45, как C ++ 11, так и C ++ 03. До 1.48 он содержал код, который стал boost.move.
- Boost.Asio поддерживается с 1.47; нет эмуляции в C ++ 03
- Boost.Intrusive получил поддержку через boost.move в 1,48 (C ++ 11, C ++ 03)
- Boost.Container был новым в 1.48 с поддержкой через boost.move (C ++ 11, C ++ 03)
- Boost.Icl получил поддержку через boost.move в 1.49 (C ++ 11, C ++ 03)
- Boost.Unordered получил поддержку через boost.move в 1.49 (C ++ 11, с
#define
для включения эмуляции в C ++ 03)
- Boost.Thread поддерживает эмуляцию C ++ 03 с boost.move начиная с версии 1.50, более старые версии поддерживают только C ++ 11
- Boost.Function добавлена поддержка C ++ 11-only в 1,52