As I understand, the Macro UNCOPYABLE is included in estd's uncopyable.h for historical reasons? Instead, the base class estd::uncopyable can be used instead consequently, since using C++ means is mostly better than preprocessor means.