桁毎の処理に特化したコンテナ的なもの2
以前同じようなものを書いたが、機能を若干単純にして、連続的な演算を想定していなかったのでexpression template
を用いて再度書き直した。論理的に以前のものよりこちらの方が高速である。
以下のように使う。
#include<srook/math/digits.hpp> #include<functional> int main() { using namespace srook; using namespace std; digits a(123456789),b(428048329); digits result=a+b+b; result | print; digits c=result.sort<greater>() | filterd([](const auto& x){return x%2==0;}) | copied; c | print; }
9 6 19 4 13 22 13 12 27 22 12 6 4
まあ、正直あまり大した事はしていない。