Boost logo

Boost :

Subject: Re: [boost] [Boost-users] [afio] Formal review of Boost.AFIO
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2015-08-23 21:29:45

On 24 Aug 2015 at 0:46, Vicente J. Botet Escriba wrote:

> >> I believe that I need something more about monad<T> than what I have
> >> found in the documentation.
> > If there is anything missing, please do say in detail.
> >
> Is this link part of the review? I don't believe, so could you point me
> where the monad class is documented in AFIO? If it is not documented,
> why it is used so broadly.

It is used in the tutorial because as we progress through each stage
of increasing complexity, you can see that the data_store class
member functions lookup() and write() have either a monad<T> or a
shared_future<T> return type depending on whether the API is
synchronous (monad<T>) or asynchronous (shared_future<T>).

I was trying to keep the interface class for each stage as identical
as possible, so monad<T> was a natural fit to make the STL iostreams
example look exactly like the AFIO asynchronous example. I suppose
what you're saying here is that the tutorial should not be using
monad<T> because monad<T> is not documented in AFIO.

I can easily rewrite the tutorial code to not use monad<T>, it's no

> > If you want to pin a specific ABI which won't break in the future,
> > you bind afio like this:
> >
> > namespace afio = BOOST_AFIO_V2_NAMESPACE;
> Where can I find the description of this macro on the reference
> documentation?

> We have two options:
> * we wait to review AFIO once Monad is reviewed in Boost
> * You include in AFIO, whatever you consider is need from Monad and only
> then we review AFIO.

I can remove monad<T> from all the tutorial code. Or I can include
documentation of monad<T> in AFIO. Which would you prefer?


ned Productions Limited Consulting

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