Boost logo

Boost :

Subject: Re: [boost] Call for interest - BOOST_AUTO_FUNCTION
From: David Abrahams (dave_at_[hidden])
Date: 2010-10-17 05:32:07

At Fri, 15 Oct 2010 19:22:16 -0400,
Matt Calabrese wrote:
> To see how the macro is used go here:

Nice!! Now are you ready to write BOOST_PARAMETER_AUTO_FUNCTION? :-)

> <>As of right now variadic macros are required,
> however, I could easily make them optional if I always require users to put
> more parenthesis in particular places (I.E. surrounding the code in a
> "requires" regardless of whether or not there is a comma there), though I'm
> not certain that I wish to go this route as, as far as I'm aware, all
> compilers that support trailing return type also support variadic
> macros.

Yeah, and C99 preprocessor is required for C++0x, so I wouldn't bother.

> So, implementing it without variadic macros may just be forcing programmers
> to use lisp-level amounts of parentheses for no reason.


> I was hoping to have everything documented and up by now, but I'm still
> fleshing things out. At this time I'm working on some tricks to make misuse
> reported in an easy-to-read manner through some fancy preprocessor tricks
> and static_assert/mpl assert message. After that I believe it should be
> done.

This is very cool.


* The "keywords" are getting a bit long. Could you think of shorter
  names? Super bonus for finding a way to make them highlight
  distinctively ;-)

* is it possible to make all return types lazily computed, so there's
  no need for lazy_result_type? I'm not saying I see how to do this,
  but you might :-)

* What is (end) and where is it needed?

Dave Abrahams
BoostPro Computing

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