Boost logo

Boost :

From: Stjepan Rajko (stipe_at_[hidden])
Date: 2008-07-16 14:30:46


On Tue, Jul 15, 2008 at 7:53 PM, Joel de Guzman
<joel_at_[hidden]> wrote:
>
> 1) The concept of an infinite-sequence.
>
> I'm not quite happy that all sequences has a finite size.
> Perhaps we can return something like fusion::infinite_size

That would be really nice! I will make the Size template parameter a
typename, so fusion::infinite_size can be specified if/when it becomes
supported. I think the implementation will only need to change its
behavior related to the end iterator. That way, we can have both
finite and infinite lazy_sequences.

>
> If this is possible, then we should have a new infinite-sequence
> concept. I wonder where and how that will fit in the fusion
> concepts hierarchy.
>

It seems orthogonal to other Sequence concepts... Maybe the Sequence
concept should have the "size is an integral constant" requirement
pulled out of it, and then have FiniteSequence and InfiniteSequence
concepts that refine that?

> 2) If this is not possible, then the interface should at least
> be compatible with the at_c and at interfaces:
>
> make_lazy_sequence<MPL-N>(f);
> make_lazy_sequence_c<N>(f);
>
> and of course, its result_of counterparts.
>

OK

> Then, oh well... docs. Where should we put this? views, I guess.

I had thought of it as a container, but I think you are right - should
be a view. It is conceptually similar to single_view (in that it is
not a view into a Sequence), perhaps described as "a view into the
return values of a unary callabale object or function". That maybe
suggests changing the name to something like "callable_view" (perhaps
there is a better variant that doesn't suggest that the view is
callable).

Also - do you think we should support both unary and nullary callable
entities (in the current naming convention, have both something like
"lazy_sequence" and "uniform_lazy_sequence", or in the alternate
naming convention, both "unary_callable_view" and
"nullary_callable_view")?

I started the docs at:
http://www.dancinghacker.com/code/dataflow/dataflow/utility/lazy_sequence.html

I will tease out the docs,tests,naming,directory location,etc. within
the dataflow library sandbox until we have something that seems good.

Best,

Stjepan


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