きままにブログスマートフォン用の表示で見るきままにブログプログラミングを主とした私のメモ帳です。寂しいのでコメントください笑この広告は、90日以上更新していないブログに表示しています。2015-10-29関数の合成を保存し、実行するC++関数をどんどん適用できるAdaptorを考えます。これをC++で表現するというのがこの記事の目的です。C++を自分で実装しようと考えた時、まずはこのようなアダプタを作らなければならないと思ったからです。これが完成すればあとは適当なrangeに対してイテレータで回すたびに実行すればいいことになります。takeやreverseとなるとそうはいかなくなりそうなのでとりあえず今回はこのようなものを考えました。Step1関数を保存でき、operator()(T)で実行できるようなクラスを作りました。f;};このクラスによって関数を(オーバーヘッドなしで)保持できます。Step2ではこれに対して>>adaptorにて関数の合成を行えるようにしたいと思います。a);}Step3合成後もインターフェイスとしてoperator()(T)があれば後々問題が生じないため、とりあえずこういうクラスを作りました。a2;};と定義しました。0;}make_adaptorは、ラムダ式の型推論をさせるためのヘルパー関数です。このように左から順番に評価されていることがわかります。関数型言語では関数が第一級の値という。前回の記事の続きですが、作ったアダプタを例えば範囲クラスran...2015-10-29scope_exitをmoveできるようにしたmovable_scope_exitを実装scope_exitでは、その変数を定義したスコープを抜けたときの処...2015-02-03C++17予定らしいawaitC#では便利なawaitがありますが、C++にも導入予定らしいです。)はてなブログをはじめよう!staryoshiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。