Boost logo

Boost :

Subject: Re: [boost] [fusion] Definition for FUSION_MAX_MAP_SIZE
From: Edward Diener (eldiener_at_[hidden])
Date: 2014-07-01 11:30:04

On 6/30/2014 4:37 PM, Joel de Guzman wrote:
> On 6/30/14, 11:44 PM, Agustín K-ballo Bergé wrote:
>> On 30/06/2014 12:40 p.m., Edward Diener wrote:
>>> On 6/30/2014 11:15 AM, Agustín K-ballo Bergé wrote:
>>>> On 30/06/2014 09:26 a.m., Edward Diener wrote:
>>>>> The documentation for fusion implies that FUSION_MAX_MAP_SIZE is
>>>>> defined
>>>>> whenever a fusion header is included.
>>>> It doesn't, it simply reserves the option for any header to define
>>>> it or
>>>> include a header that does. This is the general case for max sizes, and
>>>> allows fusion to do things as implementing a container in terms of a
>>>> different one.
>>>>> What fusion header needs to be
>>>>> included in order to bring in the definition for FUSION_MAX_MAP_SIZE ?
>>>> As far as I can tell, `FUSION_MAX_MAP_SIZE` is only defined if you
>>>> include <boost/fusion/container/map.hpp> and the implementation is
>>>> non-variadic.
>>> What do you mean by 'and the implementation is non-variadic' ?
>> If the compiler has enough C++11 support, you'll get a variadic
>> implementation:
>> template <typename ...Ts> struct map;
>> For such implementation, `FUSION_MAX_MAP_SIZE` makes no sense as there
>> is no hard limit.
> Yes, that is correct.

I created a pull request for msm to fix the problem there when fusion
uses variadic maps and msm attempts to use FUSION_MAX_MAP_SIZE. But it
would still be nice if fusion documented this situation.

Boost list run by bdawes at, gregod at, cpdaniel at, john at