The object-like macro, when defined to nothing prior to including this header file, forces the dual library choice of the C++ standard enable_shared_from_this implementation. If the C++ standard enable_shared_from_this implementation is not available a preprocessor error is generated.