2013-07-28から1日間の記事一覧

続・文字型の可変長パラメータ引数を使ってコンパイル時に文字列を生成する

C++

char 型の可変長パラメータ引数を使ってコンパイル時に文字列を生成する の続き. まず,ワイド文字を全く考えていなかったので,std::basic_string のように文字型をテンプレートにしてみた. template< class CharT, CharT... Chars > struct basic_string…

テンプレートの部分特殊化の引数リストにかかる制約

C++

昨日文字列を表す型を書いていて,このコードがエラーになるのが引っかかった. template<class T, T... CS> struct S{}; template<int I, class T> struct X1; template<class T, T C, T... CS> struct X1<0, S<T, C, CS...>>{}; template<class T, int I, T... CS> struct X1<I, S<T, CS...>>{}; template<int I, class T> struct X2; template</int></i,></class></t,></class></int></class>