$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Tobias Schwinger (tschwinger_at_[hidden])
Date: 2007-04-04 05:28:31
Andrey Semashev wrote:
> Hello Tobias,
>
> Tuesday, April 3, 2007, 9:02:45 PM, you wrote:
>
>> Hi,
>
>> in_place_factory can be quite useful, as I found out recently. However,
>> here are some suggestions to make it event better:
>
>> 1. add a construction mechanism for arrays
>
>> 2. add a note to the docs about deduction and using boost::ref
>
>> 3. have the static 'apply' member function return the pointer to the
>> constructed object - just like the placement new operator
>
>> 4. use file iteration instead of BOOST_PP_REPEAT for maintainability
>
> If I may, I'd like to add:
>
> 5. add in_place_factory and typed_in_place_factory for zero
> constructor arguments.
Quick discussion:
Often the reason against nullary function overloads is the earlier point
of instantiation (nullary functions can't be templates), but that
shouldn't be the problem here because 'in_place_factory's nested 'apply'
is a template and 'typed_in_place_factory' is complete enough to be
instantiated. For the 'inline in_place_factory0 in_place()' function the
explicit 'inline' keyword is needed, however, not to break the ODR.
OK. It seems reasonable and it seems there are no unsolvable problems
around, so let's add it ;-).
> I remember someone mentioned this before, but I
> can't remember any one answered.
That probably means that there's no maintainer. If that's so, I'd pick
up this role.
Regards,
Tobias