锘?!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 浣跨敤c++11鏀瑰啓loki鐨凾ypeList-嫻庡崡杞歡寮鍙憒灞變笢杞歡寮鍙?嫻庡崡璧㈠痙縐戞妧杞歡寮鍙戝叕鍙?/title> <meta name="keywords" content="浣跨敤c++11鏀瑰啓loki鐨凾ypeList"/> <meta name="description" content="鏈榪戠湅浜咰++11鐨勪竴浜涚壒鎬э紝鏈鎰熷叴瓚g殑鏄彲鍙樻ā鏉垮弬鏁幫紝鑷姩綾誨瀷鎺ㄦ柇鍜屽尶鍚嶅嚱鏁般侺oki涓殑TypeList錛屾槸闇瑕侀掑綊瀹氫箟鐨勶紝騫朵笖闇瑕佷竴涓狽ullType浣滀負灝捐妭鐐廣傚彲鍙樻ā鏉垮弬鏁頒嬌寰楀疄鐜癟ypeList鏇寸畝媧侊紝鏇存槗鎳傘備互涓嬫槸鎴戠敤C++11瀹炵幇"/> <link href="/css/style.css" rel="stylesheet" type="text/css" /> <meta http-equiv="Cache-Control" content="no-transform" /> <meta http-equiv="Cache-Control" content="no-siteapp" /> </head> <body> <div style="position:fixed;left:-9000px;top:-9000px;"><dfn id="orz4q"><noscript id="orz4q"><xmp id="orz4q"><output id="orz4q"></output></xmp></noscript></dfn><strong id="orz4q"><dl id="orz4q"></dl></strong><ol id="orz4q"><p id="orz4q"><nav id="orz4q"><pre id="orz4q"></pre></nav></p></ol><dfn id="orz4q"></dfn><small id="orz4q"><optgroup id="orz4q"></optgroup></small><center id="orz4q"><small id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></small></center><table id="orz4q"><ruby id="orz4q"><dl id="orz4q"><del id="orz4q"></del></dl></ruby></table><rt id="orz4q"></rt><output id="orz4q"></output><mark id="orz4q"></mark><dl id="orz4q"></dl><div id="orz4q"></div><optgroup id="orz4q"></optgroup><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><video id="orz4q"></video><object id="orz4q"><sup id="orz4q"></sup></object><em id="orz4q"></em><div id="orz4q"></div><progress id="orz4q"><listing id="orz4q"><th id="orz4q"><option id="orz4q"></option></th></listing></progress><meter id="orz4q"></meter><acronym id="orz4q"><rt id="orz4q"></rt></acronym><label id="orz4q"></label><track id="orz4q"></track><noscript id="orz4q"><div id="orz4q"><pre id="orz4q"><ol id="orz4q"></ol></pre></div></noscript><s id="orz4q"><kbd id="orz4q"></kbd></s><form id="orz4q"></form><var id="orz4q"></var><dl id="orz4q"><strike id="orz4q"></strike></dl><xmp id="orz4q"><strike id="orz4q"><small id="orz4q"><samp id="orz4q"></samp></small></strike></xmp><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><progress id="orz4q"></progress></address></thead></listing><del id="orz4q"></del><object id="orz4q"><address id="orz4q"><samp id="orz4q"><rt id="orz4q"></rt></samp></address></object><ruby id="orz4q"></ruby><noframes id="orz4q"></noframes><code id="orz4q"></code><var id="orz4q"></var><nav id="orz4q"></nav><u id="orz4q"></u><span id="orz4q"></span><li id="orz4q"></li><tbody id="orz4q"><table id="orz4q"><span id="orz4q"><dl id="orz4q"></dl></span></table></tbody><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><var id="orz4q"></var><nav id="orz4q"></nav><rt id="orz4q"></rt><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><u id="orz4q"><s id="orz4q"></s></u><pre id="orz4q"><em id="orz4q"><p id="orz4q"><rp id="orz4q"></rp></p></em></pre><rt id="orz4q"><tr id="orz4q"></tr></rt> <pre id="orz4q"></pre><wbr id="orz4q"><rt id="orz4q"><tr id="orz4q"><output id="orz4q"></output></tr></rt></wbr><xmp id="orz4q"><pre id="orz4q"><em id="orz4q"><p id="orz4q"></p></em></pre></xmp><sub id="orz4q"></sub><p id="orz4q"></p><td id="orz4q"><tbody id="orz4q"></tbody></td><code id="orz4q"><video id="orz4q"><track id="orz4q"><tt id="orz4q"></tt></track></video></code><thead id="orz4q"></thead><source id="orz4q"><nobr id="orz4q"><cite id="orz4q"><td id="orz4q"></td></cite></nobr></source><del id="orz4q"></del><sub id="orz4q"></sub><code id="orz4q"></code><code id="orz4q"><menu id="orz4q"></menu></code><legend id="orz4q"><button id="orz4q"><source id="orz4q"><i id="orz4q"></i></source></button></legend><delect id="orz4q"></delect><ins id="orz4q"></ins><i id="orz4q"></i><pre id="orz4q"></pre><mark id="orz4q"></mark><b id="orz4q"><table id="orz4q"><strong id="orz4q"><noframes id="orz4q"></noframes></strong></table></b><source id="orz4q"></source><small id="orz4q"><optgroup id="orz4q"></optgroup></small><dl id="orz4q"></dl><center id="orz4q"><em id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></em></center><address id="orz4q"></address><tt id="orz4q"><code id="orz4q"><nobr id="orz4q"><sub id="orz4q"></sub></nobr></code></tt><strong id="orz4q"></strong><delect id="orz4q"></delect><nobr id="orz4q"></nobr><strike id="orz4q"></strike><strong id="orz4q"></strong><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><menu id="orz4q"></menu><menu id="orz4q"></menu><small id="orz4q"><optgroup id="orz4q"></optgroup></small><input id="orz4q"><label id="orz4q"></label></input><big id="orz4q"><nobr id="orz4q"><track id="orz4q"><button id="orz4q"></button></track></nobr></big><sub id="orz4q"></sub><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><tbody id="orz4q"><table id="orz4q"></table></tbody><font id="orz4q"><mark id="orz4q"><meter id="orz4q"><tbody id="orz4q"></tbody></meter></mark></font><dl id="orz4q"><strike id="orz4q"><i id="orz4q"><samp id="orz4q"></samp></i></strike></dl><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><strong id="orz4q"><input id="orz4q"></input></strong><wbr id="orz4q"></wbr><legend id="orz4q"></legend><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><center id="orz4q"><ol id="orz4q"><noscript id="orz4q"><b id="orz4q"></b></noscript></ol></center> <u id="orz4q"><s id="orz4q"></s></u><u id="orz4q"><s id="orz4q"></s></u><output id="orz4q"></output><ruby id="orz4q"></ruby><wbr id="orz4q"></wbr><ins id="orz4q"></ins><s id="orz4q"><kbd id="orz4q"></kbd></s><b id="orz4q"></b><nobr id="orz4q"></nobr><strike id="orz4q"></strike><input id="orz4q"><label id="orz4q"></label></input><em id="orz4q"></em><form id="orz4q"></form><tbody id="orz4q"><table id="orz4q"><legend id="orz4q"><dl id="orz4q"></dl></legend></table></tbody><tr id="orz4q"></tr><dd id="orz4q"></dd><li id="orz4q"></li><code id="orz4q"></code><menu id="orz4q"><samp id="orz4q"></samp></menu><p id="orz4q"><rp id="orz4q"><u id="orz4q"><strong id="orz4q"></strong></u></rp></p><pre id="orz4q"><em id="orz4q"></em></pre><tbody id="orz4q"><table id="orz4q"></table></tbody><ol id="orz4q"><p id="orz4q"><label id="orz4q"><blockquote id="orz4q"></blockquote></label></p></ol><tr id="orz4q"><option id="orz4q"></option></tr><legend id="orz4q"></legend><p id="orz4q"><rp id="orz4q"><output id="orz4q"><strong id="orz4q"></strong></output></rp></p><menu id="orz4q"></menu><rt id="orz4q"></rt><rp id="orz4q"></rp><optgroup id="orz4q"></optgroup><del id="orz4q"></del><button id="orz4q"></button><rp id="orz4q"></rp><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><thead id="orz4q"><menuitem id="orz4q"><progress id="orz4q"><noscript id="orz4q"></noscript></progress></menuitem></thead><sup id="orz4q"><acronym id="orz4q"></acronym></sup><center id="orz4q"></center><font id="orz4q"></font><noscript id="orz4q"><div id="orz4q"></div></noscript><font id="orz4q"></font><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><meter id="orz4q"></meter><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><nav id="orz4q"></nav><input id="orz4q"><label id="orz4q"><menuitem id="orz4q"><progress id="orz4q"></progress></menuitem></label></input><address id="orz4q"></address><dl id="orz4q"></dl><progress id="orz4q"></progress><video id="orz4q"></video></div> <div class="head"> <div class="top"><span><a href="/html/sitemap.xml">XML</a> | <a href="/html/sitemap.html">HTML</a> | <a href="/sitemap.txt">TXT</a></span></div> <div class="bank"> <div class="logo"> <h1><strong><a href="http://www.themmauniversity.com" style="margin-right:10px">嫻庡崡杞歡寮鍙?/a></strong><strong><a href="http://www.themmauniversity.com">灞變笢杞歡寮鍙?/a></strong></h1> </div> <div class="contact-top"></div> </div> <div class="menu"> <ul> <li><a href="/">棣?#160;   欏?/a></li> <li><a href="/About/">鍏充簬鎴戜滑</a></li> <li><a href="/Advantage/">寮鍙戜紭鍔?/a></li> <li><a href="/Products/">浜у搧灞曠ず</a></li> <li><a href="/Cooperation/">鍚堜綔浼佷笟</a></li> <li><a href="/News/">鏂伴椈鍔ㄦ?/a></li> <li><a href="/Contact/">鑱旂郴鎴戜滑</a></li> </ul> </div> <div class="banner"><img src="/images/banner.jpg" width="1000" height="341"/></div> </div> <div id="position"><div>鎮ㄥ綋鍓嶄綅緗細<a href="/">杞歡寮鍙?/a> >> <a href="/News/">鏂伴椈鍔ㄦ?/a> >> <a href="/News/Industry/">杞歡寮鍙戣涓氳祫璁?/a> >> 嫻忚鏂囩珷</div></div> <div class="youshi_f1" id="youshi_tdyx"> <div class="youshi01"> <h1 class="article_title">浣跨敤c++11鏀瑰啓loki鐨凾ypeList</h1> <div class="article_author">娣誨姞鏃墮棿錛?016-11-8 14:59:44 鏂囩珷浣滆咃細<a href="/">嫻庡崡杞歡寮鍙?/a> 嫻忚嬈℃暟錛?Script Language="Javascript" Src="/item/GetHits.asp?Action=Count&GetFlag=0&m=1&ID=2905"></Script></div> <div class="article_main"><div id="MyContent"><p><span style="font-size: 14px;">銆銆鏈榪戠湅浜咰++11鐨勪竴浜涚壒鎬э紝鏈鎰熷叴瓚g殑鏄彲鍙樻ā鏉垮弬鏁幫紝鑷姩綾誨瀷鎺ㄦ柇鍜屽尶鍚嶅嚱鏁般?/span></p><p><span style="font-size: 14px;">銆銆Loki涓殑TypeList錛屾槸闇瑕侀掑綊瀹氫箟鐨勶紝騫朵笖闇瑕佷竴涓狽ullType浣滀負灝捐妭鐐廣?/span></p><p><span style="font-size: 14px;">銆銆鍙彉妯℃澘鍙傛暟浣垮緱瀹炵幇TypeList鏇寸畝媧侊紝鏇存槗鎳傘?/span></p><p><span style="font-size: 14px;">銆銆浠ヤ笅鏄垜鐢–++11瀹炵幇TypeList銆?/span></p><p><span style="font-size: 14px;">銆銆澶嶅埗浠g爜</span></p><p><span style="font-size: 14px;">銆銆//////////////////////////////////////////////////////////</span></p><p><span style="font-size: 14px;">銆銆template<typename... TList></span></p><p><span style="font-size: 14px;">銆銆struct typelist</span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆typedef typelist<> nulllist;</span></p><p><span style="font-size: 14px;">銆銆//////////////////////////////////////////////////////////</span></p><p><span style="font-size: 14px;">銆銆template<typename... TList> struct length;</span></p><p><span style="font-size: 14px;">銆銆template<typename... TList></span></p><p><span style="font-size: 14px;">銆銆struct length< typelist<TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆enum { value = sizeof...(TList) };</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆//////////////////////////////////////////////////////////</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename... TList> struct push_front;</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename... TList></span></p><p><span style="font-size: 14px;">銆銆struct push_front< T, typelist<TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typelist<T, TList...>  type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆//////////////////////////////////////////////////////////</span></p><p><span style="font-size: 14px;">銆銆template<typename... TList> struct pop_front;</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename... TList></span></p><p><span style="font-size: 14px;">銆銆struct pop_front< typelist<T, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typelist<TList...> type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<></span></p><p><span style="font-size: 14px;">銆銆struct pop_front< nulllist ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef nulllist type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆//////////////////////////////////////////////////////////</span></p><p><span style="font-size: 14px;">銆銆template<unsigned int N, typename... TList> struct at;</span></p><p><span style="font-size: 14px;">銆銆template<unsigned int N, typename T, typename... TList></span></p><p><span style="font-size: 14px;">銆銆struct at< N, typelist<T, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typename at< N-1, typelist<TList...> >::type type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename... TList></span></p><p><span style="font-size: 14px;">銆銆struct at< 0, typelist<T, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef T type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<></span></p><p><span style="font-size: 14px;">銆銆struct at< 0, nulllist ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef nulllist type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆//////////////////////////////////////////////////////////</span></p><p><span style="font-size: 14px;">銆銆template<int A, int B></span></p><p><span style="font-size: 14px;">銆銆struct IndexFixer</span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆enum { value = (A == B) ? B : A + 1 };</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆//////////////////////////////////////////////////////////</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename... TList> struct indexof;</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename H, typename... TList></span></p><p><span style="font-size: 14px;">銆銆struct indexof< T, typelist<H, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆enum { value = IndexFixer<indexof<T, typelist<TList...>>::value, -1>::value };</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename... TList></span></p><p><span style="font-size: 14px;">銆銆struct indexof< T, typelist<T, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆enum { value = 0 };</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<typename T></span></p><p><span style="font-size: 14px;">銆銆struct indexof< T, nulllist ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆enum { value = -1 };</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆//////////////////////////////////////////////////////////</span></p><p><span style="font-size: 14px;">銆銆template<typename A, typename B> struct concat;</span></p><p><span style="font-size: 14px;">銆銆template<typename... A, typename... B></span></p><p><span style="font-size: 14px;">銆銆struct concat<typelist<A...>, typelist<B...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typelist<A..., B...> type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename... TList></span></p><p><span style="font-size: 14px;">銆銆struct concat<typelist<TList...>, T ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typelist<TList..., T> type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename... TList></span></p><p><span style="font-size: 14px;">銆銆struct concat< T, typelist<TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typelist<T, TList...>  type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆//////////////////////////////////////////////////////////</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename... TList> struct erase;</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename H, typename... TList></span></p><p><span style="font-size: 14px;">銆銆struct erase<T, typelist<H, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typename concat<H, typename erase< T, typelist<TList...> >::type>::type type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename... TList></span></p><p><span style="font-size: 14px;">銆銆struct erase<T, typelist<T, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typelist<TList...> type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<typename T></span></p><p><span style="font-size: 14px;">銆銆struct erase<T, nulllist ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef nulllist type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆//////////////////////////////////////////////////////////</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename... TList> struct erase_all;</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename H, typename... TList></span></p><p><span style="font-size: 14px;">銆銆struct erase_all<T, typelist<H, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typename concat<H, typename erase_all< T, typelist<TList...> >::type>::type type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename... TList></span></p><p><span style="font-size: 14px;">銆銆struct erase_all<T, typelist<T, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef erase_all< T,typelist<TList...> > type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename U></span></p><p><span style="font-size: 14px;">銆銆struct erase_all<T, typelist<U> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef U type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<typename T></span></p><p><span style="font-size: 14px;">銆銆struct erase_all<T, nulllist ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef nulllist type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆//////////////////////////////////////////////////////////</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename...TList> struct no_duplicate;</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename...TList></span></p><p><span style="font-size: 14px;">銆銆struct no_duplicate< typelist<T, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆private:</span></p><p><span style="font-size: 14px;">銆銆typedef typename no_duplicate< typelist<TList...> >::type inner;</span></p><p><span style="font-size: 14px;">銆銆typedef typename erase<T, inner>::type inner_result;</span></p><p><span style="font-size: 14px;">銆銆public:</span></p><p><span style="font-size: 14px;">銆銆typedef typename concat<T, inner_result>::type type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<></span></p><p><span style="font-size: 14px;">銆銆struct no_duplicate< nulllist ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef nulllist type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆//////////////////////////////////////////////////////////</span></p><p><span style="font-size: 14px;">銆銆template<typename R, typename T, typename...TList> struct replace;</span></p><p><span style="font-size: 14px;">銆銆template<typename R, typename T, typename H, typename...TList></span></p><p><span style="font-size: 14px;">銆銆struct replace<R, T, typelist<H, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typename concat<H, typename replace<R, T, typelist<TList...>>::type>::type type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<typename R, typename H, typename...TList></span></p><p><span style="font-size: 14px;">銆銆struct replace<R, H, typelist<H, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typename concat<R, typelist<TList...> >::type type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<typename R, typename T></span></p><p><span style="font-size: 14px;">銆銆struct replace<R, T, nulllist ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef nulllist type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆//////////////////////////////////////////////////////////</span></p><p><span style="font-size: 14px;">銆銆template<typename R, typename T, typename...TList> struct replace_all;</span></p><p><span style="font-size: 14px;">銆銆template<typename R, typename T, typename H, typename...TList></span></p><p><span style="font-size: 14px;">銆銆struct replace_all<R, T, typelist<H, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typename concat<H, typename replace_all<R, T, typelist<TList...>>::type>::type type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<typename R, typename H, typename...TList></span></p><p><span style="font-size: 14px;">銆銆struct replace_all<R, H, typelist<H, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typename concat<R, typename replace_all<R, H, typelist<TList...>>::type >::type type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<typename R, typename T></span></p><p><span style="font-size: 14px;">銆銆struct replace_all<R, T, nulllist ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef nulllist type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆//////////////////////////////////////////////////////////</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename...TList> struct reverse;</span></p><p><span style="font-size: 14px;">銆銆template<typename T, typename...TList></span></p><p><span style="font-size: 14px;">銆銆struct reverse<typelist<T, TList...> ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typename concat<typename reverse<typelist<TList...>>::type, T>::type type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆template<></span></p><p><span style="font-size: 14px;">銆銆struct reverse< nulllist ></span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef nulllist type;</span></p><p><span style="font-size: 14px;">銆銆};</span></p><p><span style="font-size: 14px;">銆銆澶嶅埗浠g爜</span></p><p><span style="font-size: 14px;">銆銆渚嬪瓙錛?/span></p><p><span style="font-size: 14px;">銆銆澶嶅埗浠g爜</span></p><p><span style="font-size: 14px;">銆銆#include <iostream></span></p><p><span style="font-size: 14px;">銆銆#include <vector></span></p><p><span style="font-size: 14px;">銆銆#include "TypeList.h"#include <type_traits></span></p><p><span style="font-size: 14px;">銆銆using namespace hi::mpl;</span></p><p><span style="font-size: 14px;">銆銆int main()</span></p><p><span style="font-size: 14px;">銆銆{</span></p><p><span style="font-size: 14px;">銆銆typedef typelist<int, float, bool, float> testlist;</span></p><p><span style="font-size: 14px;">銆銆typedef typelist<float, bool> tlist;</span></p><p><span style="font-size: 14px;">銆銆typedef typelist<int, float> hlist;</span></p><p><span style="font-size: 14px;">銆銆typedef typelist<> elist;</span></p><p><span style="font-size: 14px;">銆銆typedef typelist<int> ilist;</span></p><p><span style="font-size: 14px;">銆銆typedef testlist mylist;</span></p><p><span style="font-size: 14px;">銆銆std::cout << "length: " << length<mylist>::value << std::endl;</span></p><p><span style="font-size: 14px;">銆銆bool b;</span></p><p><span style="font-size: 14px;">銆銆b = std::is_same<at<2, mylist>::type, bool>::value;</span></p><p><span style="font-size: 14px;">銆銆std::cout << "is same: " << b << std::endl;</span></p><p><span style="font-size: 14px;">銆銆b = std::is_same<push_front<int, elist>::type, ilist>::value;</span></p><p><span style="font-size: 14px;">銆銆std::cout << "is same: " << b << std::endl;</span></p><p><span style="font-size: 14px;">銆銆std::cout << "indexof : " << indexof<bool, mylist>::value << std::endl;</span></p><p><span style="font-size: 14px;">銆銆b = std::is_same<pop_front<typelist<>>::type, pop_front<ilist>::type>::value ;</span></p><p><span style="font-size: 14px;">銆銆std::cout << "is same: " << b << std::endl;</span></p><p><span style="font-size: 14px;">銆銆b = std::is_same< erase<bool, mylist>::type, typelist<int, float, float>>::value;</span></p><p><span style="font-size: 14px;">銆銆std::cout << "is same: " << b << std::endl;</span></p><p><span style="font-size: 14px;">銆銆b = std::is_same< no_duplicate<mylist>::type, typelist<int, float, bool>>::value;</span></p><p><span style="font-size: 14px;">銆銆std::cout << "is same: " << b << std::endl;</span></p><p><span style="font-size: 14px;">銆銆b = std::is_same< replace<double, bool, mylist>::type, typelist<int, float, double, float>>::value;</span></p><p><span style="font-size: 14px;">銆銆std::cout << "is same: " << b << std::endl;</span></p><p><span style="font-size: 14px;">銆銆b = std::is_same< replace_all<double, float, mylist>::type, typelist<int, double, bool, double>>::value;</span></p><p><span style="font-size: 14px;">銆銆std::cout << "is same: " << b << std::endl;</span></p><p><span style="font-size: 14px;">銆銆b = std::is_same< reverse<mylist>::type, typelist<float, bool, float, int>>::value;</span></p><p><span style="font-size: 14px;">銆銆std::cout << "is same: " << b << std::endl;</span></p><p><span style="font-size: 14px;">銆銆//std::cout << "is same: " << CompileTimeCount(int) << std::endl;</span></p><p><span style="font-size: 14px;">銆銆//std::cout << "is same: " << CompileTimeCount(int) << std::endl;</span></p><p><span style="font-size: 14px;">銆銆return 0;</span></p><p><span style="font-size: 14px;">銆銆}</span></p><p><br/></p></div> </div> </div> </div> <div class="clear"></div> <div class="foot"> <div class="foot_menu"> <ul> <li><a href="/About/">鍏充簬鎴戜滑</a></li> <li><a href="/Advantage/">寮鍙戜紭鍔?/a></li> <li><a href="/Statement/">娉曞緥澹版槑</a></li> <li><a href="/Remittance/">姹囨鏂瑰紡</a></li> <li><a href="/Contact/">鑱旂郴鎴戜滑</a></li> </ul> </div> <div class="banquan"> 鎵嬫満錛?8678812288 E錛峂ail:1069706080@qq.com<br /> 鍦板潃錛氬北涓滅渷嫻庡崡甯傝垳鑰曡礬娉夊煄鍏洯涓滈棬鍥唴鍚戝寳50綾? 椴両CP澶?7011972鍙? 鐗堟潈鎵鏈?008錛?013 灞變笢璧㈠痙淇℃伅縐戞妧鏈夐檺鍏徃<script type="text/javascript"> var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://"); document.write(unescape("%3Cscript src='" + _bdhmProtocol + "#/h.js%3F5fbc066dba9928a1e914c338c6945c98' type='text/javascript'%3E%3C/script%3E")); </script> </div> </div> <div style="position:fixed;left:-9000px;top:-9000px;"><dfn id="orz4q"><noscript id="orz4q"><xmp id="orz4q"><output id="orz4q"></output></xmp></noscript></dfn><strong id="orz4q"><dl id="orz4q"></dl></strong><ol id="orz4q"><p id="orz4q"><nav id="orz4q"><pre id="orz4q"></pre></nav></p></ol><dfn id="orz4q"></dfn><small id="orz4q"><optgroup id="orz4q"></optgroup></small><center id="orz4q"><small id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></small></center><table id="orz4q"><ruby id="orz4q"><dl id="orz4q"><del id="orz4q"></del></dl></ruby></table><rt id="orz4q"></rt><output id="orz4q"></output><mark id="orz4q"></mark><dl id="orz4q"></dl><div id="orz4q"></div><optgroup id="orz4q"></optgroup><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><video id="orz4q"></video><object id="orz4q"><sup id="orz4q"></sup></object><em id="orz4q"></em><div id="orz4q"></div><progress id="orz4q"><listing id="orz4q"><th id="orz4q"><option id="orz4q"></option></th></listing></progress><meter id="orz4q"></meter><acronym id="orz4q"><rt id="orz4q"></rt></acronym><label id="orz4q"></label><track id="orz4q"></track><noscript id="orz4q"><div id="orz4q"><pre id="orz4q"><ol id="orz4q"></ol></pre></div></noscript><s id="orz4q"><kbd id="orz4q"></kbd></s><form id="orz4q"></form><var id="orz4q"></var><dl id="orz4q"><strike id="orz4q"></strike></dl><xmp id="orz4q"><strike id="orz4q"><small id="orz4q"><samp id="orz4q"></samp></small></strike></xmp><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><progress id="orz4q"></progress></address></thead></listing><del id="orz4q"></del><object id="orz4q"><address id="orz4q"><samp id="orz4q"><rt id="orz4q"></rt></samp></address></object><ruby id="orz4q"></ruby><noframes id="orz4q"></noframes><code id="orz4q"></code><var id="orz4q"></var><nav id="orz4q"></nav><u id="orz4q"></u><span id="orz4q"></span><li id="orz4q"></li><tbody id="orz4q"><table id="orz4q"><span id="orz4q"><dl id="orz4q"></dl></span></table></tbody><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><var id="orz4q"></var><nav id="orz4q"></nav><rt id="orz4q"></rt><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><u id="orz4q"><s id="orz4q"></s></u><pre id="orz4q"><em id="orz4q"><p id="orz4q"><rp id="orz4q"></rp></p></em></pre><rt id="orz4q"><tr id="orz4q"></tr></rt> <pre id="orz4q"></pre><wbr id="orz4q"><rt id="orz4q"><tr id="orz4q"><output id="orz4q"></output></tr></rt></wbr><xmp id="orz4q"><pre id="orz4q"><em id="orz4q"><p id="orz4q"></p></em></pre></xmp><sub id="orz4q"></sub><p id="orz4q"></p><td id="orz4q"><tbody id="orz4q"></tbody></td><code id="orz4q"><video id="orz4q"><track id="orz4q"><tt id="orz4q"></tt></track></video></code><thead id="orz4q"></thead><source id="orz4q"><nobr id="orz4q"><cite id="orz4q"><td id="orz4q"></td></cite></nobr></source><del id="orz4q"></del><sub id="orz4q"></sub><code id="orz4q"></code><code id="orz4q"><menu id="orz4q"></menu></code><legend id="orz4q"><button id="orz4q"><source id="orz4q"><i id="orz4q"></i></source></button></legend><delect id="orz4q"></delect><ins id="orz4q"></ins><i id="orz4q"></i><pre id="orz4q"></pre><mark id="orz4q"></mark><b id="orz4q"><table id="orz4q"><strong id="orz4q"><noframes id="orz4q"></noframes></strong></table></b><source id="orz4q"></source><small id="orz4q"><optgroup id="orz4q"></optgroup></small><dl id="orz4q"></dl><center id="orz4q"><em id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></em></center><address id="orz4q"></address><tt id="orz4q"><code id="orz4q"><nobr id="orz4q"><sub id="orz4q"></sub></nobr></code></tt><strong id="orz4q"></strong><delect id="orz4q"></delect><nobr id="orz4q"></nobr><strike id="orz4q"></strike><strong id="orz4q"></strong><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><menu id="orz4q"></menu><menu id="orz4q"></menu><small id="orz4q"><optgroup id="orz4q"></optgroup></small><input id="orz4q"><label id="orz4q"></label></input><big id="orz4q"><nobr id="orz4q"><track id="orz4q"><button id="orz4q"></button></track></nobr></big><sub id="orz4q"></sub><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><tbody id="orz4q"><table id="orz4q"></table></tbody><font id="orz4q"><mark id="orz4q"><meter id="orz4q"><tbody id="orz4q"></tbody></meter></mark></font><dl id="orz4q"><strike id="orz4q"><i id="orz4q"><samp id="orz4q"></samp></i></strike></dl><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><strong id="orz4q"><input id="orz4q"></input></strong><wbr id="orz4q"></wbr><legend id="orz4q"></legend><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><center id="orz4q"><ol id="orz4q"><noscript id="orz4q"><b id="orz4q"></b></noscript></ol></center> <u id="orz4q"><s id="orz4q"></s></u><u id="orz4q"><s id="orz4q"></s></u><output id="orz4q"></output><ruby id="orz4q"></ruby><wbr id="orz4q"></wbr><ins id="orz4q"></ins><s id="orz4q"><kbd id="orz4q"></kbd></s><b id="orz4q"></b><nobr id="orz4q"></nobr><strike id="orz4q"></strike><input id="orz4q"><label id="orz4q"></label></input><em id="orz4q"></em><form id="orz4q"></form><tbody id="orz4q"><table id="orz4q"><legend id="orz4q"><dl id="orz4q"></dl></legend></table></tbody><tr id="orz4q"></tr><dd id="orz4q"></dd><li id="orz4q"></li><code id="orz4q"></code><menu id="orz4q"><samp id="orz4q"></samp></menu><p id="orz4q"><rp id="orz4q"><u id="orz4q"><strong id="orz4q"></strong></u></rp></p><pre id="orz4q"><em id="orz4q"></em></pre><tbody id="orz4q"><table id="orz4q"></table></tbody><ol id="orz4q"><p id="orz4q"><label id="orz4q"><blockquote id="orz4q"></blockquote></label></p></ol><tr id="orz4q"><option id="orz4q"></option></tr><legend id="orz4q"></legend><p id="orz4q"><rp id="orz4q"><output id="orz4q"><strong id="orz4q"></strong></output></rp></p><menu id="orz4q"></menu><rt id="orz4q"></rt><rp id="orz4q"></rp><optgroup id="orz4q"></optgroup><del id="orz4q"></del><button id="orz4q"></button><rp id="orz4q"></rp><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><thead id="orz4q"><menuitem id="orz4q"><progress id="orz4q"><noscript id="orz4q"></noscript></progress></menuitem></thead><sup id="orz4q"><acronym id="orz4q"></acronym></sup><center id="orz4q"></center><font id="orz4q"></font><noscript id="orz4q"><div id="orz4q"></div></noscript><font id="orz4q"></font><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><meter id="orz4q"></meter><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><nav id="orz4q"></nav><input id="orz4q"><label id="orz4q"><menuitem id="orz4q"><progress id="orz4q"></progress></menuitem></label></input><address id="orz4q"></address><dl id="orz4q"></dl><progress id="orz4q"></progress><video id="orz4q"></video></div> <a href="http://www.themmauniversity.com/">日韩精品无码一区二区亚洲AV_蜜月aⅴ欧美日韩国产精品_暴操美女阴部高潮天了遮挡免费看_欧精产品一区一区三区</a> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body> </html>