Re[2]: boost::filesystem3 (моя не понимает)
От: nen777w  
Дата: 17.08.11 23:14
Оценка:
Ops>Простите, Вы не из Эстонии случайно? О замене 2 на 3 писали еще зимой.
нет не из Эстонии
значит это как то мимо меня прошло.
А теперь вот захотелось переписать кой чего в старом проекте с новым бустом.

N>>Бегло посмотрев хидера Я так понимаю что бы filesystem стал filesystem2 нужно менять макросы в boost_config.hpp и пересобирать библиотеку?


Ops>

Ops>Building the library
Ops>By default, the Boost build system creates libraries that support both version 2 and version 3. To support only a single version, include --disable-filesystem2 or --disable-filesystem3 on the bjam command line.


гм... понятно.

Ops>Ну и на всякий случай:


Ops>

Ops>Existing code should be moved to Version 3 as soon as convenient. New code should be written for Version 3.
Ops>Version 2 is deprecated, and will not be included in Boost releases 1.48 and later.

Ops>http://www.boost.org/doc/libs/1_47_0/libs/filesystem/v3/doc/index.htm

понятно. т.е. совместимости они не гарантируют.
потому как вот такой просто бесполезный (с первого взгляда) код успешно компилируется для v2 и не успешно для v3

#include <vector>

#include "boost/filesystem.hpp"
#include "boost/phoenix.hpp"

void    foo()
{
    using boost::phoenix::lambda;
    using boost::phoenix::placeholders::_1;

    std::vector<boost::filesystem::path::string_type> v;

    v.push_back("boost");
    v.push_back("0");
    v.push_back("boost");
    v.push_back("3");

    std::for_each(v.begin(), v.end()
        , lambda[
            if_( "boost" == _1)
                [
                    _1 = "tsoob"
                ]
        ] ()
    );
}


ладно будем мудрить тогда с v3. спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.