7258f8e
diff -Naur soci-3.2.3.org/CMakeLists.txt soci-3.2.3/CMakeLists.txt
7258f8e
--- soci-3.2.3.org/CMakeLists.txt	2015-04-09 00:39:00.000000000 +0200
7258f8e
+++ soci-3.2.3/CMakeLists.txt	2017-01-14 01:02:20.417016971 +0100
7258f8e
@@ -39,6 +39,10 @@
7258f8e
 include(SociSystemInfo)
7258f8e
 include(SociConfig)
7258f8e
 
7258f8e
+if(CMAKE_COMPILER_IS_GNUCXX)
7258f8e
+  add_definitions(-std=gnu++0x)
7258f8e
+endif()
7258f8e
+
7258f8e
 boost_report_value(SOCI_PLATFORM_NAME)
7258f8e
 boost_report_value(SOCI_COMPILER_NAME)
7258f8e
 
7258f8e
diff -Naur soci-3.2.3.org/core/rowset.h soci-3.2.3/core/rowset.h
7258f8e
--- soci-3.2.3.org/core/rowset.h	2015-04-08 22:32:00.000000000 +0200
7258f8e
+++ soci-3.2.3/core/rowset.h	2017-01-14 01:02:20.418016969 +0100
7258f8e
@@ -154,8 +154,8 @@
7258f8e
 
7258f8e
     unsigned int refs_;
7258f8e
 
7258f8e
-    const std::auto_ptr<statement> st_;
7258f8e
-    const std::auto_ptr<T> define_;
7258f8e
+    const std::unique_ptr<statement> st_;
7258f8e
+    const std::unique_ptr<T> define_;
7258f8e
 
7258f8e
     // Non-copyable
7258f8e
     rowset_impl(rowset_impl const &);
7258f8e
diff -Naur soci-3.2.3.org/core/session.cpp soci-3.2.3/core/session.cpp
7258f8e
--- soci-3.2.3.org/core/session.cpp	2015-04-08 22:28:14.000000000 +0200
7258f8e
+++ soci-3.2.3/core/session.cpp	2017-01-14 01:02:20.419016966 +0100
7258f8e
@@ -235,11 +235,11 @@
7258f8e
 }
7258f8e
 
7258f8e
 void session::set_query_transformation_(
7258f8e
-        std::auto_ptr<details::query_transformation_function> qtf)
7258f8e
+        std::unique_ptr<details::query_transformation_function> qtf)
7258f8e
 {
7258f8e
     if (isFromPool_)
7258f8e
     {
7258f8e
-        pool_->at(poolPosition_).set_query_transformation_(qtf);
7258f8e
+        pool_->at(poolPosition_).set_query_transformation_(std::move(qtf));
7258f8e
     }
7258f8e
     else
7258f8e
     {
7258f8e
diff -Naur soci-3.2.3.org/core/session.h soci-3.2.3/core/session.h
7258f8e
--- soci-3.2.3.org/core/session.h	2015-04-08 22:32:00.000000000 +0200
7258f8e
+++ soci-3.2.3/core/session.h	2017-01-14 01:05:19.044639113 +0100
7258f8e
@@ -40,7 +40,7 @@
7258f8e
 {
7258f8e
 private:
7258f8e
 
7258f8e
-    void set_query_transformation_(std::auto_ptr<details::query_transformation_function> qtf);
7258f8e
+    void set_query_transformation_(std::unique_ptr<details::query_transformation_function> qtf);
7258f8e
 
7258f8e
 public:
7258f8e
     session();
7258f8e
@@ -77,8 +77,8 @@
7258f8e
     template <typename T>
7258f8e
     void set_query_transformation(T callback)
7258f8e
     {
7258f8e
-        std::auto_ptr<details::query_transformation_function> qtf(new details::query_transformation<T>(callback));
7258f8e
-        set_query_transformation_(qtf);
7258f8e
+        std::unique_ptr<details::query_transformation_function> qtf(new details::query_transformation<T>(callback));
7258f8e
+        set_query_transformation_(std::move(qtf));
7258f8e
 
7258f8e
         assert(qtf.get() == NULL);
7258f8e
     }
7258f8e
diff -Naur soci-3.2.3.org/core/test/common-tests.h soci-3.2.3/core/test/common-tests.h
7258f8e
--- soci-3.2.3.org/core/test/common-tests.h	2015-04-09 00:39:01.000000000 +0200
7258f8e
+++ soci-3.2.3/core/test/common-tests.h	2017-01-14 01:02:20.421016962 +0100
7258f8e
@@ -350,7 +350,7 @@
7258f8e
     backend_factory const &backEndFactory_;
7258f8e
     std::string const connectString_;
7258f8e
 
7258f8e
-typedef std::auto_ptr<table_creator_base> auto_table_creator;
7258f8e
+typedef std::unique_ptr<table_creator_base> auto_table_creator;
7258f8e
 
7258f8e
 void test0()
7258f8e
 {