From 25c332e53064af13c9f119df6bcc2c3847d93695 Mon Sep 17 00:00:00 2001 From: Constantin Michael Date: Tue, 19 Apr 2011 09:26:51 +0200 Subject: Add qt/smart-ptr usage to Qt example --- qt/driver.cxx | 20 ++++++++++---------- qt/employee.hxx | 23 +++++++---------------- qt/makefile | 2 +- 3 files changed, 18 insertions(+), 27 deletions(-) diff --git a/qt/driver.cxx b/qt/driver.cxx index f41e4d6..395f0b5 100644 --- a/qt/driver.cxx +++ b/qt/driver.cxx @@ -34,16 +34,16 @@ main (int argc, char* argv[]) // Simple Tech Ltd. // { - shared_ptr er (new employer ("Simple Tech Ltd")); + QSharedPointer er (new employer ("Simple Tech Ltd")); - shared_ptr john ( + QSharedPointer john ( new employee ("John", "Doe", QDate (1974, 5, 23), QByteArray ("\0xF1\0x00\0x34\0x45\0x00\0xDE", 6), er)); - shared_ptr jane ( + QSharedPointer jane ( new employee ("Jane", "Doe", QDate (1983, 1, 18), @@ -68,16 +68,16 @@ main (int argc, char* argv[]) // Complex Systems Inc. // { - shared_ptr er (new employer ("Complex Systems Inc")); + QSharedPointer er (new employer ("Complex Systems Inc")); - shared_ptr john ( + QSharedPointer john ( new employee ("John", "Smith", QDate (1954, 8, 1), QByteArray ("\0x23\0xFD\0x8F\0x00", 4), er)); - shared_ptr jane ( + QSharedPointer jane ( new employee ("Jane", "Smith", QDate (1976, 12, 31), @@ -107,18 +107,18 @@ main (int argc, char* argv[]) session s; transaction t (db->begin ()); - shared_ptr stl (db->load ("Simple Tech Ltd")); + QSharedPointer stl (db->load ("Simple Tech Ltd")); employees& es (stl->employees ()); for (employees::iterator i (es.begin ()); i != es.end (); ++i) { - lazy_weak_ptr& lwp (*i); + QLazyWeakPointer& lwp (*i); // Load and lock the employee and his employer. // - shared_ptr p (lwp.load ()); - shared_ptr pe (p->employer ().load ()); + QSharedPointer p (lwp.load ()); + QSharedPointer pe (p->employer ().load ()); cout << p->first () << " " << p->last () << endl << " born: " << p->born ().toString () << endl diff --git a/qt/employee.hxx b/qt/employee.hxx index 60c6980..f921a97 100644 --- a/qt/employee.hxx +++ b/qt/employee.hxx @@ -10,27 +10,18 @@ #include #include #include +#include #include -// Include TR1 header in a compiler-specific fashion. Fall back -// on the Boost implementation if the compiler does not support TR1. -// -#include - -#include - -using std::tr1::shared_ptr; - -using odb::tr1::lazy_shared_ptr; -using odb::tr1::lazy_weak_ptr; +#include // Forward declarations. // class employer; class employee; -typedef std::vector > employees; +typedef std::vector > employees; #pragma db object class employer @@ -85,7 +76,7 @@ public: const QString& last, const QDate& born, const QByteArray& public_key, - shared_ptr employer) + QSharedPointer employer) : first_ (first), last_ (last), born_ (born), @@ -126,14 +117,14 @@ public: // Employer. // - lazy_shared_ptr + QLazySharedPointer employer () const { return employer_; } void - employer (shared_ptr employer) + employer (QSharedPointer employer) { employer_ = employer; } @@ -154,7 +145,7 @@ private: QByteArray public_key_; #pragma db not_null - lazy_shared_ptr employer_; + QLazySharedPointer employer_; }; #endif // EMPLOYEE_HXX diff --git a/qt/makefile b/qt/makefile index 22af2d1..1b7f0ae 100644 --- a/qt/makefile +++ b/qt/makefile @@ -56,7 +56,7 @@ gen := $(addprefix $(out_base)/,$(genf)) $(gen): $(odb) $(gen): odb := $(odb) $(gen) $(dist): export odb_options += --database $(db_id) --profile qt \ ---generate-query --generate-schema --default-pointer std::tr1::shared_ptr +--generate-query --generate-schema $(gen): cpp_options := -I$(src_base) $(gen): $(odb.l.cpp-options) $(odb_qt.l.cpp-options) $(qt_core.l.cpp-options) -- cgit v1.1