私はtype-visiatorをC++タイプリストよりも実装する方法を探しています。ここでは、タイプビジターの型に対して特定の演算子(sizeofなど)を実行するための型ビジターを意味しました。タイプビジターをC++で入力してください
概念的には私が何をしたいです。もちろん
typedef TYPELIST_3(bool, int, double) tl;
size_t tl_size = TL_sum_size<tl>(); // 13 = 1+4+8
size_t tl_min_size = TL_min_size<tl>(); // 1
size_t tl_max_size = TL_max_size<tl>(); // 8
vector<size_t> tl_sizes = TL_list_size<tl>(); // {1, 4, 8}
TL_AddCounter<tl>(3); // Call AddCounter(3) for each type in typelist
、各機能はtypelistにかけtempletizedする必要があります。 この例では、タイプリストにsizeofとstatic void T::addCounter(int x)
を使用しています(タイプが何回使用されたかを追跡するため)。 一般的には、任意のパラメータを持つ型について任意の「静的」操作を実行したいと考えています。
まず、上記のいずれかの機能は可能ですか?はいの場合、どうすればいいですか?タイプリストを反復する方法がわかりません。このような
[1] [1] を[私はtypelistに基づいて私のバリアントの実装でのMaxSizeと長さを使用]:http://stackoverflow.com/questions/2150892/how-to-build-this- c-typelist-a-variant/3552166#3552166 –