![](/img/trans.png)
[英]How to expand multiple index_sequence parameter packs to initialize 2d array in C++?
我正在嘗試使用std::initializer_list初始化我的Matrix類。 我知道我可以用std::index_sequence做到這一點,但我不知道如何在一個語句中擴展它們。 我就是這樣做的: 它在第二次擴展時失敗,並出現錯誤Pack expansion does not contai ...
[英]How to expand multiple index_sequence parameter packs to initialize 2d array in C++?
我正在嘗試使用std::initializer_list初始化我的Matrix類。 我知道我可以用std::index_sequence做到這一點,但我不知道如何在一個語句中擴展它們。 我就是這樣做的: 它在第二次擴展時失敗,並出現錯誤Pack expansion does not contai ...
[英]Can I calculate Speedup for OpenCL kernels with templates and std::index_sequence?
tldr; 如何實現使用std::index_sequence運行定時函數的 for 循環? 好的,我承認標題有點神秘,但我正在研究這個問題: 在運行時甚至編譯時是否可能有一個 for 循環? 我可能對我可以用std::index_sequence做的事情太興奮了。 我會解釋我的目標是什么 ...
[英]C++ Build error: expected type-specifier before [Variadic templates] class
這是我的代碼: 嘗試構建:g++ -g -Wall -std=c++14 -oa test_template_args.cc 然后我收到以下錯誤: 我不明白為什么 DispatchToMethod function 模板有效: 但是 TaskEvent class 模板不起作用: ...
[英]How does std::index_sequence_for<T... >() exactly work?
我有以下代碼 我不知道這有什么問題 當我在沒有任何模板參數的情況下離開函數調用時,推導效果很好。 我所知道的是std::index_sequence_for<tupleElementsTypes... >()應該擴展到0,1,2,..N-1 。 所以怎么了。 ...
[英]Recursive aggregate type configured using many template parameters using std::index_sequence
有一個類模板: Feature<...>所有實例都在此處“收集”: 所有功能的創建如下: 到現在為止還挺好。 我的任務是擺脫 1..3、4..6 等中的那些硬編碼值。這樣做的方法是生成包含所有功能配置的頭文件。 就像是: 然后我需要以某種方式更改FeatureConfi ...
[英]Expand std::vector into parameter pack
我有具有以下簽名的方法: 我有一個方法,我想調用 DoStuff 方法,如下所示: 有沒有機會實現這一目標? 以正確的方式使用 std::index_sequence 嗎? 如果是,您能否提供一個簡單的示例,如何將其應用於我的問題? ...
[英]Distribute non-type parameter pack across different template parameter packs
是否有任何語法可以通過它在模板參數包的參數中分發非類型參數包,期望非類型包(不同大小)? 由於這很令人困惑,我相信一個例子可能有助於澄清我的意思: https://godbolt.org/z/FaEGTVtemplate <typename T, int... I> struct Vec ...
[英]Pack expansion for std::array initialization using std::index_sequence
我需要使用相同的構造函數 arguments 初始化一個帶有 N 個對象的 std:array,如std::vector<T>(size_t, {args...}) 。 從我在這里的搜索中我想出了這個,它有效: 但我不明白第三行。 (Ints, T{args...})...如何轉換為T ...
[英]Automatically generating switch statements at compile time for sparse array indexing
有沒有辦法為匹配索引生成編譯時切換語句? 例如,如果我有一個序列1,5,8並且我想將它匹配到0,1,2 ,編譯器有沒有辦法在編譯時生成一個 function ,當給定 1,5,8 時分別返回 0 ,1,2。 為了更好地說明我想要什么,我准備了這個稀疏數組結構: https://godbolt.org ...
[英]Creating a structure with an expanded index sequence
我希望能夠在構造函數的初始化列表中使用參數包擴展。 實現這一點的最佳方法是賦予我的 class 參數包模板參數嗎? 這是我的意思的一個例子: https://coliru.stacked-crooked.com/a/e699c4cd035e0b1c#include <utility> # ...
[英]How Do I Unroll a Variadic Template in a Condition?
我希望將可變參數模板展開為與if -statement結合使用的單獨函數。 這是我要執行的操作的一個示例: 但這給了我錯誤: 錯誤C3520: ARGS :必須在這種情況下擴展參數包 我想要這行: if(bar<ARGS>(param) && ...
[英]Call member function for each element of std::tuple
我一直在尋找最簡單,最優雅的解決方案,發現了這一點: 但是,我不完全理解這一行: 我了解它的作用,但是這種語法是什么? 它在標准位置嗎? ...
[英]How to avoid using the “indices trick” repeatedly?
我有一個名為memory_region的類,它有點像無類型的gsl::span (即它本質上是一個void*和一個size_t ),我也用它來進行類型擦除。 因此它有一個as_span<T>()方法。 有了這個類,我有一個std::unordered_map<std:: ...
[英]How to iterate over std::index_sequence
我在源代碼中有這個代碼: 注釋的代碼行是有問題的代碼。 我不熟悉使用std::indx_sequence<>並且我已經閱讀了MSD上的文檔並且仍然不確定它,特別是當它與using指令一起using 。 此模板類將用作其他可變參數模板類的參數包,用於存儲和提取可變參數列 ...
[英]Using default arguments for std::index_sequence
我很難理解以下內容。 為什么這段代碼會編譯 但這不是(我使用foo2的默認參數): 提前謝謝了。 ...
[英]Non-type template parameter for polymorphic lambda?
可以寫這樣的東西嗎? 或這個? 在C ++ 14或C ++ 17中,其語法如何? 還是根本不可能? 基本上,我只想將I作為模板參數包,而lambda只是一種實現方法。 另外,是否有語法可以實現以下目的? ...