<div class="gmail_quote">2009/2/2 Naik, Roshan <span dir="ltr"><<a href="mailto:roshan.naik@hp.com">roshan.naik@hp.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div link="blue" vlink="purple" lang="EN-US"> <div> <p style=""><span style="font-size: 10pt; font-family: "Courier New";">Seems like the following specialization of impl<> works:</span></p> <p style=""><span style="font-size: 10pt; font-family: "Courier New";"> </span></p> <p style=""><span style="font-size: 10pt; font-family: "Courier New";"> </span></p> <p style=""><span style="font-size: 10pt; font-family: "Courier New";"> <span style="color: blue;">template</span> <<span style="color: blue;">typename</span> r> </span></p> <p style=""><span style="font-size: 10pt; font-family: "Courier New";"> <span style="color: blue;">struct</span> impl<<span style="color: blue;">true</span>, r(<span style="color: blue;">void</span>)> </span></p> <p style=""><span style="font-size: 10pt; font-family: "Courier New";"> { </span></p> <p style=""><span style="font-size: 10pt; font-family: "Courier New";"> <span style="color: blue;">static</span> <span style="color: blue;">const</span> <span style="color: blue;">bool</span> value = </span></p> <p style=""><span style="font-size: 10pt; font-family: "Courier New";"> <span style="color: blue;">sizeof</span>( </span></p> <p style=""><span style="font-size: 10pt; font-family: "Courier New";"> return_value_check<type, r>::deduce( (</span></p> <p style=""><span style="font-size: 10pt; font-family: "Courier New";"> (((derived_type*)0)-><span style="color: blue;">operator</span>()(), details::void_exp_result<type>()) </span></p> <p style=""><span style="font-size: 10pt; font-family: "Courier New";"> ) )</span></p> <p style=""><span style="font-size: 10pt; font-family: "Courier New";"> ) == <span style="color: blue;">sizeof</span>(yes); </span></p> <p style=""><span style="font-size: 10pt; font-family: "Courier New";"> </span></p> <p><span style="font-size: 10pt; font-family: "Courier New";"> };</span></p></div></div></blockquote></div><br>I don't think it does. Try this test:<br><br>struct foo {<br> void operator()() const {}<br>};<br><br><br>int main() {<br> is_call_possible<foo, void()>::value;<br> }<br><br>Roman Perepelitsa.<br>