Boost logo

Boost :

From: Eric Niebler (eric_at_[hidden])
Date: 2008-05-01 15:19:11

David Abrahams wrote:
> on Mon Apr 28 2008, "Marco Costalba" <> wrote:
>> On Mon, Apr 28, 2008 at 6:48 PM, Steven Watanabe <watanabesj_at_[hidden]> wrote:
>>> There's a page in the proto documentation that describes a solution.
>> If the page you refer to is: "Detecting the Arity of Function Objects"
>> under the link:
>> Then I have to say: WOW !!!!!! this is metaprogramming virtuosism to
>> the highest level.
> Isn't there the issue that passing non-PODs through ... is undefined
> behavior (note that the standard doesn't say you have to execute the
> code to cause the undefined behavior, and GCC will warn about it IIRC)?
> I avoided it for that reason in boost/detail/is_incrementable.hpp.

If it's in a non-evaluated context (e.g., sizeof expressions), GCC
doesn't issue a warning. I think C++03 is silent on this matter, and I
remember some discussion of the issue for C++0x, the result of which was
that doing this in non-evaluated contexts was OK, but I could be

Eric Niebler
Boost Consulting

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