Boost logo

Boost Users :

Subject: [Boost-users] [Concepts & EnableIf] Is void special?
From: Robert Jones (robertgbjones_at_[hidden])
Date: 2012-03-27 04:53:25


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.



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net