我想用升壓花生成這個最終代碼:Constexpr環路與無constexpr內容
template < typename ... Ts >
void foo(Ts ... data) {
constexpr auto tuple = hana::make_tuple(data...);
//Code that I need to be generate
container_c[tuple[0_c]].foo2();
container_c[tuple[1_c]].foo2();
container_c[tuple[2_c]].foo2();
}
container_c是地圖生成在編譯的時候,我不認爲它真正的問題在這裏雖然。 foo2的不constexpr。
我在想使用hana::size(tuple).times
,但我需要一個增量,可能使用hana::make_range(hana::size_c<0>, hana::size(tuple))
,我不知道該怎麼做。
我希望能找到一個功能,這將允許我花裏面的元組的每個成員上執行的功能。類似於hana::transform
,但用於void lambda。
我沒有想到如何用Hana
找到一些難點,我是否應該像以前一樣使用專業化?
順便說一句,我用gcc 7.1的權利,但你可以對我有沒有編譯器限制假設工作。
'花:: for_each' –
@JasonRice我怎麼沒能找到它在hana文檔中...感謝您的評論!但問這個問題還是個好主意,因爲我最終得到了一個更好的解決方案(我認爲)。 –