I thought at first that it would, but unfortunately not. Suppose that the argument is a built-in type...
So, here's try #2 at making property_traits usable for SFINAE (untested).
I did some little fixes to this (patch to trunk version of property_map.hpp attached) and it again passes the graph, graph_parallel, and property_map test cases. Could you please try it again with the variant bug cases?
The other alternative is to make the second argument of get fully generic. This will guarantee it against errors, but the downside is that it will match too much.
I don't like that because get is actually used for two things in BGL: for getting values from a property map, and for getting property maps out of a graph. Making it fully general would lead to poorer error detection and likely ambiguities between the two uses (there are already some versions whose first parameter is fully generic). -- Jeremiah Willcock