template<class T> inline bool is_null_ptr(T* const p) { return p==reinterpret_cast<T*>(0); }//is_null_ptr