... for reference, it would be something like this (in my recollections, it was even uglier ;)
template<typename _Tp>
_Tp*
addressof(_Tp& __v)
{
return reinterpret_cast<_Tp*>
(&const_cast<char&>(reinterpret_cast<const volatile char&>(__v)));
}
I'm not sure...
Paolo.
