как сделать копию boost :: filesystem :: directory_iterator?

Я знаю, что это звучит глупо, но посмотрите на этот простой пример (рабочий каталог должен иметь более одного элемента):

#define BOOST_FILESYSTEM_VERSION 3
#include <boost/filesystem.hpp>
#include <cassert>

int main()
{
    using namespace boost::filesystem;
    directory_iterator it("./");
    directory_iterator it_copy = it;
    ++it;
    assert(it_copy != it);
    return 0;
}

it_copy изменяется вместе с it ! (повышение 1.45) Какие соображения могут привести к такому дизайну ( directory_iterator - это что-то вроде smart ptr)?

Мне просто нужно сохранить копию directory_iterator , чтобы использовать ее позже.

5
задан Matthieu M. 21 March 2011 в 17:32
поделиться