Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Portability

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 12. Boost.Foreach

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

BOOST_FOREACHиспользует некоторые довольно сложные методы, которые поддерживаются не всеми компиляторами. В зависимости от того, насколько совместим ваш компилятор, вы не сможете использовать его.BOOST_FOREACHв некоторых сценариях. С тех порBOOST_FOREACHИспользованиеBoost.RangeНаследуетсяПроблемы переносимости Boost.Range. Об этом можно прочитать в. Портативный диапазонраздел.

В дополнение к требованиям, предъявляемым к компиляторуBoost.Range,BOOST_FOREACHпредъявляет дополнительные требования для правильной обработки последовательностей rvalue. (Напомним, что r-значение является неназванным объектом, поэтому примером последовательности r-значения будет функция, которая возвращаетstd::вектор<>по значению.) Компиляторы различаются в обращении с rvalues и lvalues. Чтобы справиться с ситуациейBOOST_FOREACHопределяет три уровня соответствия, описанные ниже:

Table 12.1. BOOST_FOREACH Compliance Levels

Уровень

значение

Уровень 0

Самый высокий уровень соответствия
BOOST_FOREACHработает с lvalues, rvalues и const-квалифицированными rvalues.

Уровень 1

Умеренный уровень соответствия
BOOST_FOREACHработает с lvalues и простыми rvalues, но не с const-квалифицированными rvalues.
BOOST_FOREACH_NO_CONST_RVALUE_DETECTIONв данном случае.

Уровень 2

Самый низкий уровень соответствия
BOOST_FOREACHработает только с lvalues, а не с rvalues.
BOOST_FOREACH_NO_RVALUE_DETECTIONопределено в этом случае.


Ниже приведены компиляторы, с которыми был протестированBOOST_FOREACH, и уровень соответствияBOOST_FOREACHобеспечивает их.

Table 12.2. Compiler Compliance Level

компилятор

Уровень соответствия

Визуальный C++ 8.0

Уровень 0

Визуальный C++ 7.1

Уровень 0

Визуальный C++ 7.0

Уровень 2

Визуальный C++ 6.0

Уровень 2

gcc 4.0

Уровень 0

gcc 3.4

Уровень 0

gcc 3.3

Уровень 0

mingw 3.4

Уровень 0

Intel для Linux 9.0

Уровень 0

Intel для Windows 9.0

Уровень 0

Intel для Windows 8.0

Уровень 1

Intel для Windows 7.0

Уровень 2

Комо 4.3.3

Уровень 0

Борланд 5.6.4

Уровень 2

Метроверки 9,5

Уровень 1

Метроверки 9.4

Уровень 1

SunPro 5.8

Уровень 2

qcc 3.3

Уровень 0

tru64cxx 65

Уровень 2

tru64cxx 71

Уровень 2



PrevUpHomeNext

Статья Portability раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 12. Boost.Foreach может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Chapter 12. Boost.Foreach ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 17:54:14/0.0064671039581299/0