By 林裕盛
C++11之後,標準委員會多次強化了template的功能,導入了varadic pack, auto, fold expression等語法,大大提昇了STL的應用範圍。本議程將會導讀boost library中的hana,並講解這些功能的可能應用。內容包括了hana type computation的概念,也就是如何在C++中對class本身進行運算;以及hana struct,讓使用者對自己寫的class加上更多資訊,讓compiler得以運用這些資訊展開struct,降低我們需要寫的程式碼數量。
在資料處理,如轉換文字以及C++ struct的時候(yaml, argparse, json, protobuf),這樣struct展開相當有用,作者自己也拿相同技術運用在硬體開發中的Verilog的輸出資料分析。傳統上高階語言如Python由於弱型別特性,此類應用場景使用起來會比C++等很強型別簡易許多。然而有了這樣的技術之後,我們便能享受到C++的效率以及高階語言的好用性。
講者
林裕盛
TODO...