Relax! Just look through both of them. Overall, James's approach is more elegant, I think. In particular, it doesn't need the SFINAE hackery.
Some of the comments I wrote would be nice to keep, I think.
One other thought: We should mark all methods that can't throw (I think that's like all of them) as noexcept.
And doing a pass for coding style would be good. (ptr_ instead _of _ptr, and the alignment of the member initialisers.)
« Back to merge proposal
Relax! Just look through both of them. Overall, James's approach is more elegant, I think. In particular, it doesn't need the SFINAE hackery.
Some of the comments I wrote would be nice to keep, I think.
One other thought: We should mark all methods that can't throw (I think that's like all of them) as noexcept.
And doing a pass for coding style would be good. (ptr_ instead _of _ptr, and the alignment of the member initialisers.)