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

VS使いだけどwandboxでconstexpr二分木fold関数作った

グィスト
constexpr binary fold

実際に(静的に)実行したものはこちら
wandbox
[Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ

二分木foldとは文字通り二分木で畳み込み関数である
binary_fold(plus{},1,2,3,4,5)は以下のように解決される

((1 + 2) + (3  + (4 + 5)))

foldlやfoldrに比べて再起深度を抑える働きがある
メタプロをしていてこの関数(のTMP版)がよく働くのでなんとなくconstexpr版も作ってみた
ちなみに私のコンパイラはVSなので動かない
動くかもしれないがsproutはVSサポートしてないので試す気もない