Boost logo

Boost :

From: Alexander Nasonov (alnsn_at_[hidden])
Date: 2004-11-15 16:09:20

Paul Mensonides wrote:
> > -----Original Message-----
> > From: boost-bounces_at_[hidden]
> > [mailto:boost-bounces_at_[hidden]] On Behalf Of Alexander Nasonov
> > > That might not be the case here, but there is no real
> > reason to add such a guarantee.
> >
> > No problem, I can copy/paste/rename required parts of pp :)
> Doing so just propagates a bad design (which is what it appears to be). What
> exactly are you doing that requires this behavior, because I guarantee there is
> a better, more structured, way to do it that doesn't involve ill-formed
> constructs or invalid sequences.

I understand your worry and I'm not going to use pp seq interface to
extract arguments tuple, I'm just trying to understand whether it's
possible to:

1. extract x from (x)(a,b,c)
2. remove (x) from (x)(a,b,c)

I don't think my design is really bad, if, after all, it can be expressed
in valid C++. Compare:

    BOOST_TRACE_MEM_FUN( (foo)((buf)(len)) );
    BOOST_TRACE_MEM_FUN( (foo)(2, (buf,len)) );
    // These two are only for pp funs ;-)

    BOOST_TRACE_MEM_FUN( foo, (buf, len) );
    // Comma is unnatural and looks like a typo

    BOOST_TRACE_MEM_FUN( (foo)(buf, len) );
    // Valid C++ call syntax. Brackets around foo can be explained in
    // docs.

Alexander Nasonov

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