Boost logo

Boost :

Subject: Re: [boost] [fusion] is there an adapter for C-arrays?
From: Christopher Schmidt (mr.chr.schmidt_at_[hidden])
Date: 2010-02-06 20:19:38


vicente.botet schrieb:
>> On 2/7/2010 3:34 AM, vicente.botet wrote:
>>> Hi,
>>>
>>> I need to visit the members of a C++ type using Fusion sequences. For structures I plan
>>> to use BOOST_FUSION_ADAPT_STRUCT. I need also to visit also c-arrays (with static
>>> size). I see that there is already an adapter for boost::array. Is there an adapter for
>>> C-arrays?
>>
>> Sorry, no. Would you want to contribute one? It's easy if you
>> take a look at the boost::array adapter.
>
> Hi,
>
> Well if doesn't exists I will need to see how to do it :) I will inform you when I reach to get something.

I just added an implementation for adapting plain arrays to the c++0x
branch of fusion. You can find the code here:

https://svn.boost.org/trac/boost/browser/sandbox/SOC/2009/fusion/boost/fusion/adapted/array.hpp
https://svn.boost.org/trac/boost/browser/sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/po_array

>
[snip]
>
> Is there a simple way to implement this flat view? Or even better, is it already available?

It is. Check the (undocumented) code in the ext_-directories.

https://svn.boost.org/trac/boost/browser/trunk/boost/fusion/container/ext_/tree.hpp
https://svn.boost.org/trac/boost/browser/trunk/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp

Unfortunately the code is pretty much broken at the moment.

https://svn.boost.org/trac/boost/ticket/3858

-Christopher


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