//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <memory>
// shared_ptr
// template<class T, class U> bool operator==(const shared_ptr<T>& a, const shared_ptr<U>& b);
// template<class T, class U> bool operator!=(const shared_ptr<T>& a, const shared_ptr<U>& b);
#include<memory>#include<cassert>voiddo_nothing(int*){}intmain(){int*ptr1(newint);int*ptr2(newint);conststd::shared_ptr<int>p1(ptr1);conststd::shared_ptr<int>p2(ptr2);conststd::shared_ptr<int>p3(ptr2,do_nothing);assert(p1!=p2);assert(p2==p3);}