C++ boost hana的分析以及在資料處理上的應用

By 林裕盛

議題

C++ boost hana的分析以及在資料處理上的應用

TR 213 [[ new Date( '2023-07-29 02:10:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2023-07-29 02:10:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2023-07-29 02:40:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] zh-tw
加入行事曆 加入關注 加入關注 已關注

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...

Let’s Read the Source Code 帶您讀源碼 FCXLBD general (30mins)