FuctioalPlus是一个小的表头库,它可以降低代码噪声,一次只处理一个单一等级的的抽象对象。通过增加你的代码的简洁性和可维护性来提高生产效率和编码乐趣。从长远的角度来看,它可以通过提供易于使用的功能将你从实现控制的流中解放出来。
示例代码:
#iclude "FuctioalPlus/FuctioalPlus.h"#iclude <iostream>// std::list<std::uit64_t> CollatzSeq(std::uit64_t x) { ... }it mai(){ usig amespace FuctioalPlus; usig amespace std; typedef list<uit64_t> Its; // [1, 2, 3 ... 29] auto umbers = GeerateItegralRage<Its>(1, 30); // A fuctio that does [1, 2, 3, 4, 5] -> "[1 => 2 => 3 => 4 => 5]" auto ShowIts = Bid1of2(ShowCotWith<Its>, " => "); // A composed fuctio that calculates a Collatz sequece ad shows it. auto ShowCollatsSeq = Compose(CollatzSeq, ShowIts); // Apply it to all our umbers. auto seqStrs = Trasform(ShowCollatsSeq, umbers); // Combie the umbers ad their sequece represetatios ito a map. auto collatzDict = CreateMap(umbers, seqStrs); // Prit some of the sequeces. cout << collatzDict[13] << edl; cout << collatzDict[17] << edl;}









评论