THRIFT-2221: detect C++11 and use std namespace for memory operations (smart_ptr)
Client: C++

This closes #1328
diff --git a/lib/cpp/test/concurrency/RWMutexStarveTest.cpp b/lib/cpp/test/concurrency/RWMutexStarveTest.cpp
index 63d780f..849e078 100644
--- a/lib/cpp/test/concurrency/RWMutexStarveTest.cpp
+++ b/lib/cpp/test/concurrency/RWMutexStarveTest.cpp
@@ -19,22 +19,21 @@
 
 // This is linked into the UnitTests test executable
 
-#include <boost/shared_ptr.hpp>
 #include <boost/test/unit_test.hpp>
 
 #include "thrift/concurrency/Mutex.h"
 #include "thrift/concurrency/PosixThreadFactory.h"
+#include <thrift/stdcxx.h>
 
-using boost::shared_ptr;
+using apache::thrift::stdcxx::shared_ptr;
 using boost::unit_test::test_suite;
 using boost::unit_test::framework::master_test_suite;
 
 using namespace apache::thrift::concurrency;
-using namespace std;
 
 class Locker : public Runnable {
 protected:
-  Locker(boost::shared_ptr<ReadWriteMutex> rwlock, bool writer)
+  Locker(shared_ptr<ReadWriteMutex> rwlock, bool writer)
     : rwlock_(rwlock), writer_(writer), started_(false), gotLock_(false), signaled_(false) {}
 
 public:
@@ -57,7 +56,7 @@
   void signal() { signaled_ = true; }
 
 protected:
-  boost::shared_ptr<ReadWriteMutex> rwlock_;
+  shared_ptr<ReadWriteMutex> rwlock_;
   bool writer_;
   volatile bool started_;
   volatile bool gotLock_;
@@ -66,12 +65,12 @@
 
 class Reader : public Locker {
 public:
-  Reader(boost::shared_ptr<ReadWriteMutex> rwlock) : Locker(rwlock, false) {}
+  Reader(shared_ptr<ReadWriteMutex> rwlock) : Locker(rwlock, false) {}
 };
 
 class Writer : public Locker {
 public:
-  Writer(boost::shared_ptr<ReadWriteMutex> rwlock) : Locker(rwlock, true) {}
+  Writer(shared_ptr<ReadWriteMutex> rwlock) : Locker(rwlock, true) {}
 };
 
 void test_starve(PosixThreadFactory::POLICY policy) {
@@ -81,15 +80,15 @@
   PosixThreadFactory factory(policy);
   factory.setDetached(false);
 
-  boost::shared_ptr<ReadWriteMutex> rwlock(new NoStarveReadWriteMutex());
+  shared_ptr<ReadWriteMutex> rwlock(new NoStarveReadWriteMutex());
 
-  boost::shared_ptr<Reader> reader1(new Reader(rwlock));
-  boost::shared_ptr<Reader> reader2(new Reader(rwlock));
-  boost::shared_ptr<Writer> writer(new Writer(rwlock));
+  shared_ptr<Reader> reader1(new Reader(rwlock));
+  shared_ptr<Reader> reader2(new Reader(rwlock));
+  shared_ptr<Writer> writer(new Writer(rwlock));
 
-  boost::shared_ptr<Thread> treader1 = factory.newThread(reader1);
-  boost::shared_ptr<Thread> treader2 = factory.newThread(reader2);
-  boost::shared_ptr<Thread> twriter = factory.newThread(writer);
+  shared_ptr<Thread> treader1 = factory.newThread(reader1);
+  shared_ptr<Thread> treader2 = factory.newThread(reader2);
+  shared_ptr<Thread> twriter = factory.newThread(writer);
 
   // launch a reader and make sure he has the lock
   treader1->start();
diff --git a/lib/cpp/test/concurrency/ThreadFactoryTests.h b/lib/cpp/test/concurrency/ThreadFactoryTests.h
index 4fc688c..bd6ed32 100644
--- a/lib/cpp/test/concurrency/ThreadFactoryTests.h
+++ b/lib/cpp/test/concurrency/ThreadFactoryTests.h
@@ -32,7 +32,7 @@
 namespace concurrency {
 namespace test {
 
-using boost::shared_ptr;
+using stdcxx::shared_ptr;
 using namespace apache::thrift::concurrency;
 
 /**
diff --git a/lib/cpp/test/concurrency/ThreadManagerTests.h b/lib/cpp/test/concurrency/ThreadManagerTests.h
index b5925ac..c07a21b 100644
--- a/lib/cpp/test/concurrency/ThreadManagerTests.h
+++ b/lib/cpp/test/concurrency/ThreadManagerTests.h
@@ -36,8 +36,8 @@
 
 using namespace apache::thrift::concurrency;
 
-static std::deque<boost::shared_ptr<Runnable> > m_expired;
-static void expiredNotifier(boost::shared_ptr<Runnable> runnable)
+static std::deque<stdcxx::shared_ptr<Runnable> > m_expired;
+static void expiredNotifier(stdcxx::shared_ptr<Runnable> runnable)
 {
   m_expired.push_back(runnable);
 }