Boost logo

Boost Users :

Subject: Re: [Boost-users] variant visitor using SFINAE problem
From: Olaf Peter (ope-devel_at_[hidden])
Date: 2013-05-26 12:52:13


Am 26.05.2013 15:20, schrieb Igor R:
>>> 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.
>>
>>
>> thank you, you did point out it; unfortunately, my extension doesn't
>> compile.
>
>
> Because you actually should apply is_variant metafunction to the
> value_type of the container, not to the container itself:
> mpl::not_<is_variant<typename VisitableT::value_type> >,
> <....>
> is_variant<typename VisitableT::value_type>,
>

Now, I've got it; thanks a lot Igor!


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