C++ boost::filesystem::带过滤器的递归目录迭代器

C++ boost::filesystem::带过滤器的递归目录迭代器,c++,boost,C++,Boost,我需要递归地从目录及其子目录获取所有文件,但不包括几个目录。我知道他们的名字。可以使用boost::filesystem::recursive_directory_iterator吗?是的,在对目录进行迭代时,可以测试排除列表上的名称,并使用recursive iterator的no_push()成员防止它进入这样的目录,例如: void selective_search( const path &search_here, const std::string &exclude_t

我需要递归地从目录及其子目录获取所有文件,但不包括几个目录。我知道他们的名字。可以使用boost::filesystem::recursive_directory_iterator吗?

是的,在对目录进行迭代时,可以测试排除列表上的名称,并使用recursive iterator的
no_push()
成员防止它进入这样的目录,例如:

void selective_search( const path &search_here, const std::string &exclude_this_directory)
{
    using namespace boost::filesystem;
    recursive_directory_iterator dir( search_here), end;
    while (dir != end)
    {
        // make sure we don't recurse into certain directories
        // note: maybe check for is_directory() here as well...
        if (dir->path().filename() == exclude_this_directory)
        {
            dir.no_push(); // don't recurse into this directory.
        }

        // do other stuff here.            

        ++dir;
    }
 }

是否可以基于符号链接筛选目录。我不想在符号链接文件中搜索