3
我有一個類似於this one的類型列表實現。如果你不知道類型列表是什麼:簡而言之,它的行爲就像使用嵌套元組的可變參數模板。你可以閱讀更多關於他們here。從Typelist子集創建函數指針
我想從這個類型列表的一個子集建立一個函數指針類型。子集由一系列索引(任意大小)定義,所需操作在類型列表中查找這些索引,並使用這些類型作爲參數定義函數上指針的類型。
的API看起來是這樣的:
#include "typelist.h"
// typelist definition
typedef Typelist<float, Typelist<double, Typelist<int, NullType>>> Pixel;
typedef FunctionFromFields<Pixel, 0, 2>::Type field_0_and_2;
// I want the definition above to be equivalent to:
// typedef void (*field_0_and_2)(float*, int*);
似乎可以合理地認爲這是可能的,因爲一切都在編譯時已知,但我還沒有找到那個正確的語法。
我不想使用可變參數模板來替換類型列表,但是它們可以用來定義指針類型。
有沒有人做過類似的事情?
是的,這確實它。這確實不難,我只是把自己和語法搞混了。 – Thibaut 2013-03-19 17:29:35