Removed unused macro.
Added support for C++11 std::nullptr_t for completeness.
Cleaned up with modern syntax.