STLPort: совместимость с стандартным STL кодом
От: Longobard Россия http://longobard.org.ru
Дата: 13.07.07 11:43
Оценка:
Доброго времени суток
Есть у меня один проект на C++ с использованием стандартного STL. Хочу в целях увеличения производительности перевести его на STLPort. Поставил STLPort 5.1.3, прикрутил его к VS2005.
Всплыли следующие косяки:
std::sort(m_vecItems.begin(), m_vecItems.end(), ItemSortPred); // ошибка:stlport\stlport\stl\_algo.c(84): cannot convert parameter 2 from 'const SomeItem' to 'SomeItem &'

//описание вектора: 
std::vector<SomeItem> vecItems;

Это бага STLPort-а? Если в контейнере лежат указатели — все нормально. Или же это фича из серии "а нефиг хранить в контейнере экземпляры объектов!"


далее:
typedef std::multimap<int, MemoryImage*, std::greater<int> > SortedImageMap; //  error C2039: 'greater' : is not a member of 'stlp_std'

из этой же серии:
PointClipper<std::greater_equal<float> > aGreaterClipper; //error C2039: 'greater_equal' : is not a member of 'stlp_std'


еще:
std::auto_ptr<ImageLib::Image> aDelAlphaImage(anAlphaImage); // error C2039: 'auto_ptr' : is not a member of 'stlp_std'


А с этим что делать?
Возможно, существует некий препроцессорный дефайн _STLPORT_ENABLE_STL_COMPAT?

Жду советов. Трогать исходники проекта и как-то их править не хочется.
Заранее спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.