ゆとりーなの日記

日記的な事を書いて行くと思はれる

NIF症でした

http://d.hatena.ne.jp/nagoya313/20100926/1285473156にてわざわざクラスを書きましたが、ovenでそのものズバリなmake_rangeなるものを見つけたのでそれを使って書き直しました。

#include <iostream>
#include <string>
#include <pstade/oven/algorithm.hpp>
#include <pstade/oven/any_range.hpp>
#include <pstade/oven/make_range.hpp>

pstade::oven::any_range<char *, boost::forward_traversal_tag> command_line(const int argc, char **argv) {
  return pstade::oven::make_range(argv, argv + argc);
}

int main(int argc, char **argv) {
  pstade::oven::for_each(command_line(argc, argv), [](const std::string &x) {
    std::cout << x << std::endl;
  });
  return 0;
}

既存のものの利用はすばらしいです。