Loki系列二 Typelist的基本操作2

2021-05-23 05:09:48 字數 1336 閱讀 6290

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的互動時,每次都需要...