On 10 Jan 2017, at 19:28, Phil Endecott
wrote: One issue with tagged pointers is that you need to get it right on every architecture that you care about. An advantage of Boost offering it, rather than everyone implementing their own version, would be that the architecture-specific research would only need to be done once.
Yes, exactly my thoughts. :) Once a platform-independent implementation exists, it could serve to optimise countless other boost and user libraries. This is a potential class with high adoption value. Perhaps boost.align could be used on non-conforming platforms to ensure correct alignment of the pointer, so that the always trick works. If tagged_ptr is a smart pointer, it can use aligned_alloc and aligned_free behind the scenes.