Boost logo

Boost :

From: David B. Held (dheld_at_[hidden])
Date: 2003-10-24 03:25:10

"Joel de Guzman" <joel_at_[hidden]> wrote in message
> [...]
> I'm writing some docs now. I posted some info regarding
> Fusion here:

Believe it or not, I read that already (in the Fusion folder).
I'm still not sure what a view is. Is it an MPL sequence? Is
it a pair of iterators? What can you do with it? Why would
you want one instead of a sequence? I'm not sure what view
in MPL is either, because the docs don't go into a lot of detail
about that.

I think part of the problem is that there are no explicit
metametatypes in C++. So things like Sequence and
View are defined entirely in terms of Concepts, which
can get a bit hairy to think about.

> [...]
> Yes. The usage will be something like:
> template <typename T>
> struct foo
> {
> typedef typename as_sequence<T>::type my_types;
> typedef type_sequence<my_types> type_sequence;
> foo(void) : my_tuple(generate(type_sequence())) { }
> typename result_of_generate<type_sequence>::type my_tuple;
> };

Good enough. But when will it be ready? ;)

> I'm still experimenting on the easiest syntax. For example, I
> think it is possible to directly regard MPL sequences as
> Fusion views.

I think that's a worthwhile goal, if it's not too difficult.

> [...]
> That and a lot more! Fusion is an entire MPL library for
> tuples! If you know MPL, you'll love Fusion :-)

This disturbs me. Why is MPL being rewritten for tuples?
Can't tuples be used as an MPL sequence? I'm sure this
conversation has happened before, but if someone could
summarize the issues, I'd appreciate it.


Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
Version: 6.0.521 / Virus Database: 319 - Release Date: 9/23/2003

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