Очередная статья в разделе
Artima C++ Source:
Safe Labels in C++
Summary
The need to write efficient and high-performance programs in C++ make it desirable to be able to manipulate bits and groups of bits easily, efficiently, and safely. C++ provides out-of-the-box tools to accomplish the first two goals with its bitwise operations, but it does so at the expense of the third objective, safety.
This article presents a solution to the problem of constraining bit operations to allow only safe and legitimate ones, and turn all invalid bit manipulations into compile-time errors. Best of all, the syntax of bit operations remains unchanged, and the code working with bits does not need to be modified, except possibly to fix errors that had as yet remained undetected.
На мой взгляд -- еще один опус о том, как с помощью макросов и шаблонов построить велосипед, сложность которого превышает сложность решаемой проблемы. Но, возможно, это из-за того, что я мало использую битовые операции и не сталкивался при этом с описываемыми в статье проблемами.
Хорошей стороной статьи является то, что в ее конце приведен листинг предлагаемого решения -- не нужно никуда ходить и что-то отдельно скачивать -- все сразу видно.