Itís common for high-end flexible template classes to be customizible through the use of helper classes. Having a parameterized “traits” class is powerful, and easy to specify custom traits explicitly, but difficult to create a default for new classes. Specifically, making an explicit specialization of a template class in a different namespace is awkward. Here I describe a way of making that easier.
In multi-threaded programming, it is common to use locking and blocking to provide coordinated use of shared resources. However, locking is very slow, and can lead to deadlocks if not used carefully. I have an interest in locl-free programming starting with a smart-pointer class that never blocks.