Listing 1
// TR1 additions to header <memory> namespace std { namespace tr1 { // SHARED POINTERS template<class Ty> class shared_ptr; // WEAK POINTERS template<class Ty> class weak_ptr; template<class Ty1, class Ty2> bool operator<(const weak_ptr<Ty1>&, const weak_ptr<Ty2>&); template <class Ty> void swap(const weak_ptr<Ty>&, const weak_ptr<Ty>&); // UTILITY CLASSES AND TEMPLATES template <class Ty> class enable_shared_from_this; class bad_weak_ptr : public std::exception { public: bad_weak_ptr(); const char *what() throw(); }; } }