template
// nulltype
typedef nulltype result;
template
// type t
typedef typelist
result;
template
// typelist
>
typedef typelist
result;
template
, t>
typedef typelist
::result>
result;
2. erase操作
template
struct erase;
template
struct erase
typedef nulltype result;
template
struct erase
, t>
typedef tail result;
template
struct erase
, t>
typedef typelist
typename erase
::result>
result;
3. 去重操作
先對尾部去重,再從結果裡移除head,合併即可(呵呵,編譯器辛苦了)
template
struct noduplicates;
template <> struct noduplicates
typedef nulltype result;
template
struct noduplicates< typelist
>
private:
typedef typename noduplicates
::result l1;
typedef typename erase
::result l2;
public:
typedef typelist
result;
4. 反轉操作
template
struct reverse;
template <>
struct reverse
typedef nulltype result;
template
struct reverse< typelist
>
typename reverse
::result, head>::result result;
Loki原始碼閱讀之TypeList(未完)
如果你使用過boost tuple,而且閱讀過其原始碼,那麼,typelist在你的面前或許沒有任何的神秘感,你可以很輕易的讀懂typelist的原始碼,但是,tuple和typelist的設計目標是完全不一樣的.typelist的基礎 template struct typelist 這個 看起來...
爬蟲系列二
6.3.re庫的match物件 6.4.貪婪匹配和最小匹配 七 練習 一切為了資料探勘的準備 在中國大學mooc 上學習的北京理工大學嵩天老師的免費爬蟲課程課件,簡單易懂,感興趣的戳 嵩天老師爬蟲課程。侵刪 六 正規表示式 編譯 將符合正規表示式語法的字串轉化為正規表示式特徵,只有在compile之...
Excel開發系列二
解決.net生成excel檔案速度問題的若干方案 許多csdn上的朋友在尋求如何提高生成excel時寫 的速度,我在這有點見解,以供大家分享。當然,在生成之前,你最好能將其可見這個屬性設定為false,生成後才顯示,那樣也能稍微提高點效率。另外,我還有個秘密 就是c 與excel的互動時,每次都需要...