青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

linux&c++ R&D

programing is a pleasure!

how to avoid instantiation of template operator?

problem:
I need to prevent given operator from being generated
if underlying operation can't be compiled. Basically, this operator==:
template<class T> class accessor 
     typedef accessor
<T> Self; 
public
     template
<class C> friend inline bool operator==(Self l, C& r) 
     
return l.m_ref == r; } 
}
 

should not be instantiated if 'l.m_ref == r' fails to compile due to, for example, absence of related operator==.
solution:

template <bool Enable, typename T = void> 
struct enable_if 

  typedef T type; 
}

template 
<typename T> 
struct enable_if
<false, T> 
}

namespace Details 

struct Shim 

  Shim(); 
// Can be implicitely constructed by 
             
// everything (Not defined). 
}

struct NoMatchType 

}

// Only declared, never defined: 
NoMatchType operator==(const Shim&const Shim&); 
template 
<typename T, typename U> 
struct IsEqualComparableImpl 

private
    
static const T& t(); 
    
static const U& u(); 
    
static char Check(bool); // Expected result 
    static char (&Check(const NoMatchType&))[2]; // Fallback 
public
    
static const bool value = sizeof(Check(t() == u())) == 1
}

}
 

template 
<typename T, typename U> 
struct IsEqualComparable 

  
static const bool value = 
    Details::IsEqualComparableImpl
<T, U>::value; 
}

//test example
template<class T> class accessor 
   typedef accessor
<T> Self; 
public
   accessor() : m_ref() 
{} 
   template
<class C> friend   inline   typename enable_if<IsEqualComparable<T, C>::value, bool>::type 
 operator
==(Self l, C& r) 
     
return l.m_ref == r; 
   }
 
private
  T m_ref; 
}

class C{}
class D {}
bool operator
==(D, D) return true; } 
bool test() 

  accessor
<D> a1; 
  D d; 
  bool b 
= a1 == d; // OK 
  accessor<int> a; 
  C c; 
  
return a == c; // Error 
}
 
int main() 
  
return test(); 
}
 


http://groups.google.com/group/comp.lang.c++.moderated/browse_thread/thread/3aa0bd9ea133b967/9ca97b1308becafe#9ca97b1308becafe

posted on 2007-04-17 23:42 丑石 閱讀(447) 評論(0)  編輯 收藏 引用 所屬分類: C++ problem and solution

My Links

Blog Stats

News

常用鏈接

留言簿(1)

隨筆分類(13)

隨筆檔案(17)

文章檔案(1)

相冊

收藏夾(1)

Friends' blog

useful sites

搜索

積分與排名

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久国产午夜精品| 久久精品国产99国产精品澳门| 老司机免费视频一区二区| 性欧美大战久久久久久久免费观看| 国产精品无码永久免费888| 亚洲欧美卡通另类91av| 亚洲欧美激情一区二区| 韩国女主播一区| 免费在线欧美黄色| 欧美韩日高清| 亚洲永久免费观看| 校园激情久久| 亚洲精品国产精品乱码不99| 亚洲美女av黄| 国产欧美激情| 亚洲黄色尤物视频| 欧美三级乱码| 久久久人成影片一区二区三区观看| 久久免费视频观看| 一区二区日韩免费看| 午夜在线观看欧美| 亚洲国产欧美一区二区三区同亚洲| 亚洲国产三级| 国产日韩欧美一区二区| 欧美电影在线观看| 99在线|亚洲一区二区| 久久免费偷拍视频| 一区二区精品在线观看| 欧美一级久久| 国产欧美一区视频| 欧美大胆人体视频| 国产精品美女www爽爽爽| 欧美~级网站不卡| 国产精品久久久爽爽爽麻豆色哟哟| 久久色在线观看| 国产精品久久777777毛茸茸| 欧美大片在线观看| 国产九九精品视频| 亚洲精品日韩综合观看成人91| 国产一区二区成人| 亚洲色图制服丝袜| 亚洲精品视频免费| 久久久蜜桃精品| 欧美一级专区| 欧美日韩一区二区三区视频 | 欧美福利一区| 欧美一区二区视频在线观看| 欧美激情乱人伦| 久久综合久久综合久久综合| 国产精品任我爽爆在线播放| 亚洲日本免费| 亚洲精品乱码| 美女露胸一区二区三区| 久久一二三国产| 国产无遮挡一区二区三区毛片日本| 99国内精品| 一区二区三区毛片| 欧美久久久久免费| 亚洲国产一区视频| 亚洲精品国久久99热| 美女任你摸久久| 美腿丝袜亚洲色图| 激情五月***国产精品| 欧美一区国产在线| 久久久999| 狠狠综合久久av一区二区小说| 性欧美超级视频| 久久久久久一区二区三区| 国产人成一区二区三区影院| 亚洲欧美日本视频在线观看| 午夜视频一区| 国产婷婷成人久久av免费高清 | 中文日韩在线视频| 亚洲一区二区视频在线| 欧美午夜国产| 亚洲综合不卡| 久久亚洲精品视频| 亚洲福利视频专区| 亚洲欧美日韩中文在线制服| 亚洲欧美在线高清| 国产亚洲欧美激情| 久久久久这里只有精品| 欧美激情乱人伦| 一区二区三区欧美| 国产精品美女久久久| 午夜亚洲性色福利视频| 老妇喷水一区二区三区| 亚洲三级色网| 国产精品久久国产愉拍| 欧美一区91| 亚洲国产一区二区a毛片| 在线综合亚洲欧美在线视频| 国产免费成人在线视频| 久久久久久日产精品| 亚洲精品久久久久久久久久久久久| 亚洲欧美国产毛片在线| 国产亚洲a∨片在线观看| 欧美成人午夜免费视在线看片| 亚洲久久成人| 久久综合久久综合这里只有精品 | 国产一区视频网站| 美女国产一区| 亚洲综合首页| 欧美激情精品久久久| 亚洲中无吗在线| 在线观看欧美日本| 欧美日韩在线播放一区二区| 欧美在线高清| 99国产精品久久久| 欧美α欧美αv大片| 先锋影院在线亚洲| 亚洲精品男同| 精品成人在线观看| 国产精品欧美一区二区三区奶水| 久久综合九色| 久久av一区二区三区亚洲| 亚洲日韩第九十九页| 久久亚洲精品一区| 午夜在线一区二区| 一本色道久久88综合亚洲精品ⅰ | 一本久久a久久精品亚洲| 国产一区二区三区在线观看免费视频 | 亚洲精品一区在线观看| 久久亚洲视频| 亚洲欧洲99久久| 夜夜嗨av一区二区三区四区| 在线观看成人av| 国产欧美一区二区色老头| 欧美日韩在线一区二区| 欧美成人精品福利| 美女视频一区免费观看| 久久久久国内| 欧美专区中文字幕| 性欧美超级视频| 午夜精品久久久久久久男人的天堂| 亚洲人成网站影音先锋播放| 欧美黄色片免费观看| 麻豆精品视频在线观看视频| 久久久久久久久久久成人| 欧美一区二区免费视频| 欧美一区二区高清| 午夜精品久久99蜜桃的功能介绍| 亚洲视频欧美视频| 一区二区毛片| 亚洲天堂第二页| 亚洲影视九九影院在线观看| 亚洲视频一区在线| 亚洲影院色无极综合| 亚洲欧美另类在线| 欧美一区二区成人| 久久久精彩视频| 美女脱光内衣内裤视频久久影院 | 亚洲欧洲三级电影| 亚洲韩国一区二区三区| 最新亚洲一区| 一本久久a久久精品亚洲| 亚洲最新合集| 午夜久久久久久| 久久精品一本| 欧美不卡一卡二卡免费版| 欧美大尺度在线观看| 欧美日本亚洲| 国产精品视频一二| 狠色狠色综合久久| 亚洲精品久久视频| 亚洲影院高清在线| 久久久久久久国产| 亚洲国产精品第一区二区三区| 最新日韩在线视频| 亚洲欧美日韩精品久久奇米色影视| 性做久久久久久久免费看| 久久婷婷成人综合色| 欧美人成在线视频| 国产麻豆精品theporn| 在线播放日韩专区| 亚洲视频一区二区| 久久五月婷婷丁香社区| 亚洲欧洲日本国产| 亚洲欧美日本日韩| 欧美大学生性色视频| 国产精品一区一区| 亚洲欧洲日韩在线| 午夜国产精品视频| 欧美激情aⅴ一区二区三区| 夜久久久久久| 久久综合给合久久狠狠狠97色69| 欧美日韩高清区| 激情欧美一区二区三区在线观看| 99视频一区| 久久综合一区二区| 亚洲午夜在线观看视频在线| 免费看亚洲片| 国产午夜精品久久| 亚洲视频一区二区免费在线观看| 久久免费视频观看| 亚洲少妇诱惑| 欧美精品免费播放| 在线成人欧美| 久久精品中文字幕一区二区三区| 亚洲精品免费一区二区三区|