
John Femiani wrote:
Anyhow I would have thought either one of those two should work in this case. Why doesn't boost::fusion::begin have a default implementation that calls boost::begin?
I am really thinking that fusion might not be what I thought it was; I thought I would be able to take a function that used to work on a homogeneous container and then I could 'fusion'-ize it so that the same code would compile with any heterogeneous container or homogenous container. Apparently this is not the case; I think I need to use Fusion for heterogeneous and Range for homogenous, and have separate code to deal with each.
No, it can't do that. It has nothing to do with being homogeneous or heterogeneous. Fusion can only deal with data structures (homogeneous or heterogeneous) with a size that is known at compile time. Boost.Array is one such beast in the homogeneous world. Regards, -- Joel de Guzman http://www.boost-consulting.com http://spirit.sf.net