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

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>
            国产精品va在线播放我和闺蜜| 国产亚洲观看| 亚洲视频一区二区| 日韩香蕉视频| 国产精品免费一区二区三区在线观看 | 另类av一区二区| 久久综合伊人77777蜜臀| 亚洲欧洲日产国产综合网| 亚洲国产aⅴ天堂久久| 欧美精品高清视频| 午夜激情久久久| 久久人人看视频| 99国产精品国产精品久久| 一区二区国产在线观看| 国产精品羞羞答答xxdd| 欧美aⅴ一区二区三区视频| 欧美久久久久久久久| 欧美中文日韩| 欧美精品久久久久久久| 久久成人精品| 欧美精品麻豆| 久久精品国产第一区二区三区| 久久综合五月| 欧美一二三区精品| 蜜乳av另类精品一区二区| 亚洲在线视频观看| 美女精品自拍一二三四| 亚洲影院一区| 欧美aa国产视频| 欧美在线视频全部完| 欧美高清自拍一区| 久久久精品一区| 国产精品成人av性教育| 欧美成人影音| 国产一区二区日韩精品欧美精品| 亚洲国产婷婷香蕉久久久久久99 | 一区二区激情视频| 久久精品久久综合| 亚洲午夜极品| 欧美88av| 美女日韩欧美| 国产视频久久久久久久| 亚洲视频精选| 一区二区三区久久精品| 毛片一区二区| 久久一区二区三区超碰国产精品| 国产精品激情| 夜夜精品视频| 一区二区欧美精品| 欧美紧缚bdsm在线视频| 亚洲第一视频| 亚洲高清不卡在线观看| 久久精品国产一区二区三| 欧美在线视频观看| 国产精品视区| 亚洲一区二区综合| 亚洲欧美文学| 国产精品嫩草99av在线| 亚洲视频精选| 先锋亚洲精品| 国产欧美一区二区三区视频| 亚洲无线一线二线三线区别av| 日韩视频在线一区二区三区| 免费在线观看精品| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美日韩视频免费播放| 亚洲激情在线播放| 日韩亚洲欧美综合| 欧美激情在线| 亚洲靠逼com| 亚洲五月婷婷| 国产精品一区视频| 欧美在线播放高清精品| 狂野欧美一区| 亚洲精品午夜精品| 欧美久久久久久蜜桃| 一本色道久久加勒比精品| 午夜欧美不卡精品aaaaa| 国产精品日日做人人爱 | 美女视频黄a大片欧美| 在线看日韩欧美| 欧美高清一区| 在线视频你懂得一区| 久久se精品一区精品二区| 黑人一区二区| 欧美激情一区二区三区在线视频| 亚洲毛片一区二区| 性色av一区二区三区红粉影视| 国内精品久久久久久久果冻传媒| 久久综合网色—综合色88| 亚洲免费成人| 久久国产精品电影| 999在线观看精品免费不卡网站| 欧美午夜精品久久久久久孕妇| 性娇小13――14欧美| 亚洲第一区在线| 亚洲欧美中文另类| 亚洲黄色成人| 国产日韩综合一区二区性色av| 麻豆精品国产91久久久久久| 一区二区三区国产盗摄| 蜜桃久久av| 欧美一二三区精品| 最新日韩在线| 国语对白精品一区二区| 欧美性生交xxxxx久久久| 久久女同精品一区二区| 亚洲午夜精品久久久久久浪潮 | 美女黄色成人网| 一本色道久久综合亚洲精品不| 国产香蕉久久精品综合网| 欧美日韩mv| 美女图片一区二区| 欧美在线免费观看| 亚洲一区二区三区四区视频| 亚洲国产精品悠悠久久琪琪| 久久精品日产第一区二区三区 | 在线欧美三区| 国产欧美日韩精品a在线观看| 欧美精品三区| 欧美成人三级在线| 久久亚洲综合色| 欧美一区二区大片| 亚洲专区在线视频| 99这里只有精品| 91久久久久久久久| 欧美福利视频在线观看| 久热这里只精品99re8久| 久久精品首页| 欧美一区二区三区在线播放| 亚洲直播在线一区| 中日韩男男gay无套| 99亚洲一区二区| 亚洲精一区二区三区| 亚洲精品在线观看视频| 亚洲片在线观看| 亚洲激情啪啪| 亚洲片在线资源| 亚洲激情一区| 亚洲乱码视频| 亚洲最快最全在线视频| 一本色道久久综合亚洲精品婷婷| 亚洲欧洲日本专区| 亚洲日本电影| 中文国产一区| 亚洲一区二区三区中文字幕| 亚洲一区网站| 欧美一区二区三区免费观看| 欧美在线观看视频| 久久久久青草大香线综合精品| 久久五月婷婷丁香社区| 蜜臀91精品一区二区三区| 男女av一区三区二区色多| 久久在线免费观看| 欧美岛国在线观看| 最新成人av网站| 一区二区三区久久久| 午夜精品福利视频| 久久久久国产精品人| 欧美成人精品不卡视频在线观看| 欧美激情综合亚洲一二区| 欧美午夜精品久久久久久浪潮 | 欧美三区美女| 国产精品日日做人人爱| 国产一区二区三区四区hd| 亚洲东热激情| 亚洲一区二区在线看| 久久精品国产成人| 亚洲国产你懂的| 亚洲一区二区成人在线观看| 久久riav二区三区| 欧美国产综合| 国产欧美一区二区精品婷婷| 亚洲国产美女精品久久久久∴| 亚洲线精品一区二区三区八戒| 久久高清一区| 亚洲精品资源| 欧美专区一区二区三区| 欧美日韩国产探花| 国产在线精品自拍| 亚洲香蕉在线观看| 女同一区二区| 亚洲欧美卡通另类91av| 欧美成黄导航| 国产主播一区二区三区| 中文一区二区在线观看| 久久亚洲影音av资源网| 中文在线不卡| 欧美高清一区| 玉米视频成人免费看| 亚洲午夜一区二区三区| 欧美国产综合一区二区| 小黄鸭精品密入口导航| 欧美体内she精视频| 亚洲日本乱码在线观看| 两个人的视频www国产精品| 亚洲一区精品电影| 欧美日本一区二区三区| 亚洲精品韩国| 欧美电影免费观看|