//===----------------------------------------------------------------------===// // // ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚThe LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // shared_ptr // template bool operator==(const shared_ptr& a, const shared_ptr& b); // template bool operator!=(const shared_ptr& a, const shared_ptr& b); #include #include void do_nothing(int*) {} int main() { int* ptr1(new int); int* ptr2(new int); const std::shared_ptr p1(ptr1); const std::shared_ptr p2(ptr2); const std::shared_ptr p3(ptr2, do_nothing); assert(p1 != p2); assert(p2 == p3); }