![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
THE BOOST MPL LIBRARY: apply/lambda SemanticsBoost , ,
|
Front Page / Changelog & History / Changes in Boost 1.32.0 Release / apply/lambda Semantics |
Nullary metafunction classes are now consistent with all other metafunction classes, rather than being identical to nullary metafunctions:
Nullary... |
Before |
Now |
---|---|---|
Метафункция |
f::тип |
f::тип |
Класс метафункций |
c::type |
Это устраняет недостаток алгебры метафункции, которая долгое время была основным источником других несоответствий в библиотеке.
The apply metafunction now automatically invokes lambda on its first argument. For example, the following is well-formed now:
typedef apply< plus<_1,_1>, int_<2> >::type four;
apply_wrapnвспомогательные метафункции доступны в редких случаях, когда крайне важно устранить небольшие накладные расходы, связанные с лямбда-выражениями, при этом все еще избегая различных ошибок компилятора, которые, как известно, вызывают проблемы с очевиднымf::templateapply<...>::typeсинтаксисом.
лямбдаРеализация для неработающих компиляторов была переработана, чтобы максимально точно имитировать семантику полноценной версии; следовательно, любой код, использующий семантические причуды менее полной эмуляции в предыдущем выпуске, может перестать работать с новой.
Чтобы получить подробную картину новой прикладной/ламбда-семантики, см. пример испытаний вlibs/mpl/test/apply.cppи соответствующие разделы справочного руководства MPL.
[7] | Вторая форма доступна только на полностью соответствующих компиляторах. |
Статья THE BOOST MPL LIBRARY: apply/lambda Semantics раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: ::
реклама |