Boost logo

Boost :

Subject: Re: [boost] [Fusion] Some ideas
From: TONGARI (tongari95_at_[hidden])
Date: 2013-02-03 03:07:02


2013/2/3 Joel de Guzman <djowel_at_[hidden]>

> On 2/3/13 11:50 AM, TONGARI wrote:
>
>> 2013/2/3 Joel de Guzman <djowel_at_[hidden]>
>>
>> On 2/2/13 3:52 PM, TONGARI wrote:
>>>
>>> Hi,
>>>>
>>>> Here are some ideas come up when writing some associative mapping
>>>> algorithm/views.
>>>> I think it'd be nice to have:
>>>> * Auxiliary function 'eval' to force the evaluation of transform-like
>>>> view
>>>> e.g. fusion::eval(fusion::****transform(a, b,
>>>> some_void_return_ftor))
>>>>
>>>>
>>> How's that any different from as_vector, as_list, etc. ?
>>>
>>
>>
>> They cannot take voids.
>>
>>
>> Also, what will be the container type of the result of "eval" ?
>>>
>>
>>
>> Void. Just to trigger each transformation.
>>
>
> Do you have a use-case?

e.g.

    eval(mapping(view(dst), src, _1 = _2))

> * Conversion function 'as_view' to make Container a view to reserve the
>>>
>>>> mutability.
>>>>
>>>>
>>> You mean to make it immutable?
>>>
>>
>>
>> No, the opposite, to keep the elements mutable as they were.
>> Algorithms in Fusion take const&, 'as_view' is mean to workaround.
>> Not sure if Fusion will insist on functional-style.
>>
>
> No, the opposite. I'm thinking about allowing mutable views. Would
> you be willing to implement them?

OK,
function: view(seq)
returns:
 if seq is view -> seq
 else -> container_view // in detail or public?

Or better name suggestions?


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk