From: Michael Shepanski (mshepanski_at_[hidden])
Date: 2005-11-10 00:55:18
Hello again. I'd like to reawaken this thread because It didn't seem to
reach a conclusion, and the bug that started it continues to cause me pain.
On 10/29/05, Fernando Cacciola <fernando_cacciola_at_[hidden]> wrote:
> As Martin Bonner suggested, one solution is to factorize the result of
> alignment_of<> so it returns not just any multiple. Unfortunately, we
> say that the alignment _ought_ to be a power of 2 can we?
> An alternative solution that, at least, would work with this very specific
> example, is to compute it as the minimun of sizeof(charT)-sizeof(T) and
> That is, adding the char both before and after, and taking the least
These both sound like interesting solutions; what do others think?
Are they theoretically correct?
A policy question: what happens if no theoretically correct solution
is found? Would boost::optional then be discontinued? Or would
it be reimplemented in a way that happens to work on all popular
platforms? Or would it switch at compile-time between overtly
I do hope that the policy is not to keep the current solution until a
theoretically correct solution is comes to light. Not to put too fine a
point on it, the current solution is theoretically incorrect too; the only
thing that distinguishes it from other theoretically incorrect solutions
that have been discussed is that this one fails in practice.
--- Michael Shepanski