25 May
2013
25 May
'13
6:55 p.m.
attached my code to show my problem. It seems to work (partially) so far, but not the vector<int> where I get a compile error. This is my first try with SFINAE in that way. Are the conditions correct and robust enough? How to compile it? Did I forgot one use case? Using this small helper would simplify some post processing.
What visit() overload did you intend to call for vector<int>? Note that enable_if condition: mpl::and_< boost::has_range_const_iterator<VisitableT>, boost::is_void<typename VisitorT::result_type> >, seems to be fulfilled for vector<int> case, doesn't it? But it's obviously not the right overload, as int is not variant.