Introduce LibraryPtr and ConstLibraryPtr.

As we enforce the use of Library through a shared_ptr, let's simplify
user life (and code) with new "type".
This commit is contained in:
Matthieu Gautier
2023-08-23 11:03:16 +02:00
parent 5292f06fff
commit 1dc9705597
7 changed files with 17 additions and 13 deletions

View File

@ -183,6 +183,9 @@ class ConcurrentCache;
template<typename, typename>
class MultiKeyCache;
using LibraryPtr = std::shared_ptr<Library>;
using ConstLibraryPtr = std::shared_ptr<const Library>;
/**
* A Library store several books.
*/
@ -198,8 +201,8 @@ class Library: public std::enable_shared_from_this<Library>
Library();
public:
[[nodiscard]] static std::shared_ptr<Library> create() {
return std::shared_ptr<Library>(new Library());
[[nodiscard]] static LibraryPtr create() {
return LibraryPtr(new Library());
}
~Library();
@ -405,6 +408,7 @@ private: //data
std::unique_ptr<Xapian::WritableDatabase> m_bookDB;
};
}
#endif