From 60fcae9f4843a34908207ece658aed041fcfd722 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 1 Mar 2012 12:34:41 +0200 Subject: Add support for using C++11 std::unique_ptr to pass connection factory --- odb/mssql/database.cxx | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'odb/mssql/database.cxx') diff --git a/odb/mssql/database.cxx b/odb/mssql/database.cxx index 5ab692c..b70ef24 100644 --- a/odb/mssql/database.cxx +++ b/odb/mssql/database.cxx @@ -18,6 +18,8 @@ namespace odb { namespace mssql { + using odb::details::transfer_ptr; + database:: database (const std::string& user, const std::string& password, @@ -26,7 +28,7 @@ namespace odb const std::string& driver, const std::string& extra_connect_string, SQLHENV environment, - std::auto_ptr factory) + transfer_ptr factory) : user_ (user), password_ (password), db_ (db), @@ -36,7 +38,7 @@ namespace odb driver_ (driver), extra_connect_string_ (extra_connect_string), environment_ (environment), - factory_ (factory) + factory_ (factory.transfer ()) { init (); } @@ -51,7 +53,7 @@ namespace odb const std::string& driver, const std::string& extra_connect_string, SQLHENV environment, - std::auto_ptr factory) + transfer_ptr factory) : user_ (user), password_ (password), db_ (db), @@ -62,7 +64,7 @@ namespace odb driver_ (driver), extra_connect_string_ (extra_connect_string), environment_ (environment), - factory_ (factory) + factory_ (factory.transfer ()) { init (); } @@ -76,7 +78,7 @@ namespace odb const std::string& driver, const std::string& extra_connect_string, SQLHENV environment, - std::auto_ptr factory) + transfer_ptr factory) : user_ (user), password_ (password), db_ (db), @@ -86,7 +88,7 @@ namespace odb driver_ (driver), extra_connect_string_ (extra_connect_string), environment_ (environment), - factory_ (factory) + factory_ (factory.transfer ()) { init (); } @@ -94,12 +96,12 @@ namespace odb database:: database (const string& connect_string, SQLHENV environment, - auto_ptr factory) + transfer_ptr factory) : protocol_ (protocol_auto), port_ (0), connect_string_ (connect_string), environment_ (environment), - factory_ (factory) + factory_ (factory.transfer ()) { init (); } @@ -110,12 +112,12 @@ namespace odb bool erase, const std::string& extra_connect_string, SQLHENV environment, - auto_ptr factory) + transfer_ptr factory) : protocol_ (protocol_auto), port_ (0), extra_connect_string_ (extra_connect_string), environment_ (environment), - factory_ (factory) + factory_ (factory.transfer ()) { using namespace details; -- cgit v1.1