27 Mar
2012
27 Mar
'12
8:53 a.m.
Hi Peeps Can anyone cast any light on this... I want to write function which accepts a single pass range of X's, so something like this struct X { }; template <typename T> BOOST_CONCEPT_REQUIRES( (( boost::SinglePassRangeConcept<T> )), ( typename boost::enable_if<boost::is_same<typename boost::range_value<T>::type, X>, void>::type )) my_function( const T & range ); Is that a reasonable construction, or is there a better way to say it? Next, it doesn't seem to work. It does seem to work if the type to which enable_if resolves is anything except void, but not for void. Why is this? TIA - Rob.