2019-02-26-01-for_each_nの追加
>> Site top >> weblog >> 月別アーカイブ >> 2019年02月のlog >> 2019-02-26-01-for_each_nの追加
最終更新日付:2019/02/26 01:00:00
for_each_nの追加
2019 年 02 月 26 日
C++17 では、並行性を意識したアルゴリズムが追加されたようだ。そこらへん、あまり追従できていないのだけれど、同じことをするアルゴリズムでも並行性とは関係のないモノも追加されているらしい。なので、ひとまず並行性とは関係のない実装を cl-stl には追加することにした。C++17 で追加されたアルゴリズム(numeric も含む)には以下があるらしいのだけれど、
- for_each_n
- reduce
- inclusive_scan
- exclusive_scan
- transform_reduce
- transform_inclusive_scan
- transform_exclusive_scan
今回は手始めに for_each_n だけ。以下がそのコミット。
で、for_each_n そのものについては特に言うこともない。昔からある for_each と大した違いはないからだ。しかし、並行性と言われると、「cl-stl でも何かしなきゃいけないかなぁ」とか思ってしまう。Common Lisp の世界って、スレッドとかって標準には含まれてないんだっけ? そもそも並行性が必要なコードを書くこと自体、ほとんどないから、自分が手を出すべきではないんだろうな。
そういうワケなので、上記の追加アルゴリズムについても、並行性とは関係のない実装だけを移植することになると思う。
コメント
このページのタグ
Page tag : STLとその移植
Page tag : Common Lisp
Copyright(C) 2005-2021 project-enigma.
Generated by CL-PREFAB.