comparison Framework/Common/DatabaseManager.h @ 157:275e14f57f1e

replacing deprecated std::auto_ptr by std::unique_ptr
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 06 Jul 2020 12:45:58 +0200
parents 063aa53b5917
children 3236894320d6
comparison
equal deleted inserted replaced
156:710537acb488 157:275e14f57f1e
22 #pragma once 22 #pragma once
23 23
24 #include "IDatabaseFactory.h" 24 #include "IDatabaseFactory.h"
25 #include "StatementLocation.h" 25 #include "StatementLocation.h"
26 26
27 #include <Compatibility.h> // For std::unique_ptr<>
27 #include <Enumerations.h> 28 #include <Enumerations.h>
28 29
29 #include <boost/thread/recursive_mutex.hpp> 30 #include <boost/thread/recursive_mutex.hpp>
30 #include <memory> 31 #include <memory>
31 32
35 { 36 {
36 private: 37 private:
37 typedef std::map<StatementLocation, IPrecompiledStatement*> CachedStatements; 38 typedef std::map<StatementLocation, IPrecompiledStatement*> CachedStatements;
38 39
39 boost::recursive_mutex mutex_; 40 boost::recursive_mutex mutex_;
40 std::auto_ptr<IDatabaseFactory> factory_; 41 std::unique_ptr<IDatabaseFactory> factory_;
41 std::auto_ptr<IDatabase> database_; 42 std::unique_ptr<IDatabase> database_;
42 std::auto_ptr<ITransaction> transaction_; 43 std::unique_ptr<ITransaction> transaction_;
43 CachedStatements cachedStatements_; 44 CachedStatements cachedStatements_;
44 Dialect dialect_; 45 Dialect dialect_;
45 46
46 IDatabase& GetDatabase(); 47 IDatabase& GetDatabase();
47 48
115 { 116 {
116 private: 117 private:
117 DatabaseManager& manager_; 118 DatabaseManager& manager_;
118 boost::recursive_mutex::scoped_lock lock_; 119 boost::recursive_mutex::scoped_lock lock_;
119 ITransaction& transaction_; 120 ITransaction& transaction_;
120 std::auto_ptr<Query> query_; 121 std::unique_ptr<Query> query_;
121 std::auto_ptr<IResult> result_; 122 std::unique_ptr<IResult> result_;
122 123
123 IResult& GetResult() const; 124 IResult& GetResult() const;
124 125
125 protected: 126 protected:
126 DatabaseManager& GetManager() const 127 DatabaseManager& GetManager() const
198 199
199 200
200 class StandaloneStatement : public StatementBase 201 class StandaloneStatement : public StatementBase
201 { 202 {
202 private: 203 private:
203 std::auto_ptr<IPrecompiledStatement> statement_; 204 std::unique_ptr<IPrecompiledStatement> statement_;
204 205
205 public: 206 public:
206 StandaloneStatement(DatabaseManager& manager, 207 StandaloneStatement(DatabaseManager& manager,
207 const std::string& sql); 208 const std::string& sql);
208 209