読者です 読者をやめる 読者になる 読者になる

Oven directory_rangeのv3対応とremoved Rangeアダプタを追加

C++

oven::directory_rangeをBoost.Filesystem v3に対応(v2も使えます)、
removed Rangeアダプタを追加し、コミットしました。(リリースはしてない)


こんな感じで使えます。

#define BOOST_FILESYSTEM_VERSION 3

#include <iostream>
#include <pstade/oven/filtered.hpp>
#include <pstade/oven/removed.hpp>
#include <pstade/oven/algorithm.hpp>
#include <pstade/oven/initial_values.hpp>
#include <pstade/oven/directory_range.hpp>

namespace oven = pstade::oven;
namespace fs = boost::filesystem;

struct is_directory_functor {
    typedef bool result_type;
    bool operator()(const fs::path& p) const
    {
        return fs::is_directory(p);
    }
};

int main()
{
    oven::for_each(oven::directory_range("C:\\test") | oven::removed(is_directory_functor()),
        [](const fs::path& p) { std::cout << p.filename() << std::endl; });
}

ここでは、C:\testディレクトリ内の、ディレクトリを除いたファイルを列挙してます。