| ▲ | jandrewrogers 2 hours ago | |
The idiomatic way to safely do pointer tagging in C++ works through uintptr_t. If you don't care about portability or using every theoretically available bit then it is trivial. A maximalist implementation must be architecture aware and isn't entirely knowable at compile-time. This makes standardization more complicated since the lowest common denominator is unnecessarily limited. In C++ this really should be implemented through a tagged pointer wrapper class that abstracts the architectural assumptions and limitations. | ||