diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/bulk/driver.cxx | 28 | ||||
-rw-r--r-- | common/bulk/test.hxx | 26 | ||||
-rw-r--r-- | common/const-member/test.hxx | 8 | ||||
-rw-r--r-- | common/const-object/driver.cxx | 20 | ||||
-rw-r--r-- | common/const-object/test.hxx | 11 | ||||
-rw-r--r-- | common/container/change-tracking/driver.cxx | 15 | ||||
-rw-r--r-- | common/container/change-tracking/test.hxx | 4 | ||||
-rw-r--r-- | common/inheritance/polymorphism/driver.cxx | 110 | ||||
-rw-r--r-- | common/inheritance/polymorphism/test5.hxx | 6 | ||||
-rw-r--r-- | common/inheritance/polymorphism/test6.hxx | 10 | ||||
-rw-r--r-- | common/prepared/driver.cxx | 12 | ||||
-rw-r--r-- | common/query/basics/test.hxx | 6 | ||||
-rw-r--r-- | common/readonly/test.hxx | 9 | ||||
-rw-r--r-- | common/wrapper/test.hxx | 4 |
14 files changed, 239 insertions, 30 deletions
diff --git a/common/bulk/driver.cxx b/common/bulk/driver.cxx index 06bd06c..d6a294a 100644 --- a/common/bulk/driver.cxx +++ b/common/bulk/driver.cxx @@ -327,13 +327,6 @@ main (int argc, char* argv[]) test (db, v.begin (), v.end ()); } - { - auto_ptr<auto_object> a[2]; - a[0].reset (new auto_object (1, "a")); - a[1].reset (new auto_object (2, "b")); - test (db, a, a + sizeof (a) / sizeof (a[0])); - } - #ifdef HAVE_CXX11 { vector<unique_ptr<unique_object>> v; @@ -341,6 +334,13 @@ main (int argc, char* argv[]) v.push_back (unique_ptr<unique_object> (new unique_object (2, "b"))); test (db, v.begin (), v.end ()); } +#else + { + auto_ptr<auto_object> a[2]; + a[0].reset (new auto_object (1, "a")); + a[1].reset (new auto_object (2, "b")); + test (db, a, a + sizeof (a) / sizeof (a[0])); + } #endif { @@ -981,13 +981,6 @@ main (int argc, char* argv[]) test (db, v.begin (), v.end ()); } - { - auto_ptr<auto_object> a[2]; - a[0].reset (new auto_object (1, "a")); - a[1].reset (new auto_object (2, "b")); - test (db, a, a + sizeof (a) / sizeof (a[0])); - } - #ifdef HAVE_CXX11 { vector<unique_ptr<unique_object>> v; @@ -995,6 +988,13 @@ main (int argc, char* argv[]) v.push_back (unique_ptr<unique_object> (new unique_object (2, "b"))); test (db, v.begin (), v.end ()); } +#else + { + auto_ptr<auto_object> a[2]; + a[0].reset (new auto_object (1, "a")); + a[1].reset (new auto_object (2, "b")); + test (db, a, a + sizeof (a) / sizeof (a[0])); + } #endif { diff --git a/common/bulk/test.hxx b/common/bulk/test.hxx index 85cb5c3..ce55158 100644 --- a/common/bulk/test.hxx +++ b/common/bulk/test.hxx @@ -32,10 +32,11 @@ namespace test1 std::string s; }; - #pragma db object bulk(3) pointer(std::auto_ptr) - struct auto_object +#ifdef HAVE_CXX11 + #pragma db object bulk(3) pointer(std::unique_ptr) + struct unique_object { - auto_object (unsigned int n_ = 0, std::string s_ = "") + unique_object (unsigned int n_ = 0, std::string s_ = "") : id (0), n (n_), s (s_) {} #pragma db id auto @@ -44,12 +45,11 @@ namespace test1 unsigned int n; std::string s; }; - -#ifdef HAVE_CXX11 - #pragma db object bulk(3) pointer(std::unique_ptr) - struct unique_object +#else + #pragma db object bulk(3) pointer(std::auto_ptr) + struct auto_object { - unique_object (unsigned int n_ = 0, std::string s_ = "") + auto_object (unsigned int n_ = 0, std::string s_ = "") : id (0), n (n_), s (s_) {} #pragma db id auto @@ -176,16 +176,16 @@ namespace test6 #pragma db object(object) bulk(3) #pragma db member(object::id) id auto - typedef object_template<2> auto_object; - - #pragma db object(auto_object) bulk(3) pointer(std::auto_ptr) - #pragma db member(auto_object::id) id auto - #ifdef HAVE_CXX11 typedef object_template<3> unique_object; #pragma db object(unique_object) bulk(3) pointer(std::unique_ptr) #pragma db member(unique_object::id) id auto +#else + typedef object_template<2> auto_object; + + #pragma db object(auto_object) bulk(3) pointer(std::auto_ptr) + #pragma db member(auto_object::id) id auto #endif } diff --git a/common/const-member/test.hxx b/common/const-member/test.hxx index 1928572..c858bbb 100644 --- a/common/const-member/test.hxx +++ b/common/const-member/test.hxx @@ -5,6 +5,8 @@ #ifndef TEST_HXX #define TEST_HXX +#include <common/config.hxx> // HAVE_CXX11 + #include <vector> #include <string> #include <memory> // std::auto_ptr @@ -102,9 +104,15 @@ struct wrapper #pragma db id unsigned long id; +#ifdef HAVE_CXX11 + const std::unique_ptr<const std::string> str; + const std::unique_ptr<const wrapped_value> com; + const std::unique_ptr<const std::vector<unsigned long>> vec; +#else const std::auto_ptr<const std::string> str; const std::auto_ptr<const wrapped_value> com; const std::auto_ptr< const std::vector<unsigned long> > vec; +#endif }; #endif // TEST_HXX diff --git a/common/const-object/driver.cxx b/common/const-object/driver.cxx index 03b9c20..cbe5b72 100644 --- a/common/const-object/driver.cxx +++ b/common/const-object/driver.cxx @@ -37,10 +37,18 @@ main (int argc, char* argv[]) const obj1* co1 (co1_); a.o1 = co1; +#ifdef HAVE_CXX11 + unique_ptr<obj2> o2 (new obj2 (1)); +#else auto_ptr<obj2> o2 (new obj2 (1)); +#endif obj2* co2_ (new obj2 (2)); a.o2.reset (co2_); +#ifdef HAVE_CXX11 + unique_ptr<const obj2>& co2 (a.o2); +#else auto_ptr<const obj2>& co2 (a.o2); +#endif // persist via references // @@ -75,8 +83,15 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); + +#ifdef HAVE_CXX11 + unique_ptr<aggr> a (db->load<aggr> (1)); + unique_ptr<const aggr> ca (db->load<aggr> (2)); +#else auto_ptr<aggr> a (db->load<aggr> (1)); auto_ptr<const aggr> ca (db->load<aggr> (2)); +#endif + t.commit (); assert (a->o1->id == 2); @@ -146,8 +161,13 @@ main (int argc, char* argv[]) { // i->f (); // error i->cf (); +#ifdef HAVE_CXX11 + //unique_ptr<obj2> p (i.load ()); // error + unique_ptr<const obj2> p (i.load ()); +#else // auto_ptr<obj2> p (i.load ()); // error auto_ptr<const obj2> p (i.load ()); +#endif obj2 o (0); i.load (o); assert (p->id == o.id); diff --git a/common/const-object/test.hxx b/common/const-object/test.hxx index 93977f0..2e73d96 100644 --- a/common/const-object/test.hxx +++ b/common/const-object/test.hxx @@ -5,6 +5,8 @@ #ifndef TEST_HXX #define TEST_HXX +#include <common/config.hxx> // HAVE_CXX11 + #include <memory> #include <odb/core.hxx> @@ -21,7 +23,11 @@ struct obj1 void cf () const {} }; +#ifdef HAVE_CXX11 +#pragma db object pointer (std::unique_ptr<obj2>) +#else #pragma db object pointer (std::auto_ptr<obj2>) +#endif struct obj2 { obj2 () {} @@ -45,7 +51,12 @@ struct aggr int id; const obj1* o1; + +#ifdef HAVE_CXX11 + std::unique_ptr<const obj2> o2; +#else std::auto_ptr<const obj2> o2; +#endif }; #endif // TEST_HXX diff --git a/common/container/change-tracking/driver.cxx b/common/container/change-tracking/driver.cxx index c5a43a4..3db728c 100644 --- a/common/container/change-tracking/driver.cxx +++ b/common/container/change-tracking/driver.cxx @@ -137,7 +137,11 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); +#ifdef HAVE_CXX11 + unique_ptr<object> p (db->load<object> ("1")); +#else auto_ptr<object> p (db->load<object> ("1")); +#endif assert (p->s._tracking ()); t.commit (); } @@ -551,7 +555,11 @@ main (int argc, char* argv[]) // Armed copy. // { +#ifdef HAVE_CXX11 + unique_ptr<object> c; +#else auto_ptr<object> c; +#endif { o.s.pop_back (); @@ -616,7 +624,7 @@ main (int argc, char* argv[]) // #ifdef HAVE_CXX11 { - auto_ptr<object> c; + unique_ptr<object> c; { o.s.pop_back (); @@ -692,8 +700,13 @@ main (int argc, char* argv[]) { session s; transaction t (db->begin ()); +#ifdef HAVE_CXX11 + unique_ptr<inv_object1> p1 (db->load<inv_object1> (o1.id_)); + unique_ptr<inv_object2> p2 (db->load<inv_object2> (o2.id_)); +#else auto_ptr<inv_object1> p1 (db->load<inv_object1> (o1.id_)); auto_ptr<inv_object2> p2 (db->load<inv_object2> (o2.id_)); +#endif assert (p2->o1[0] == p1.get ()); assert (!p2->o1._tracking ()); t.commit (); diff --git a/common/container/change-tracking/test.hxx b/common/container/change-tracking/test.hxx index bcb6880..0117316 100644 --- a/common/container/change-tracking/test.hxx +++ b/common/container/change-tracking/test.hxx @@ -18,7 +18,11 @@ #include <odb/core.hxx> #include <odb/vector.hxx> +#ifdef HAVE_CXX11 +#pragma db object pointer(std::unique_ptr) +#else #pragma db object pointer(std::auto_ptr) +#endif struct object { object () {} diff --git a/common/inheritance/polymorphism/driver.cxx b/common/inheritance/polymorphism/driver.cxx index 3eec9b6..acf94d5 100644 --- a/common/inheritance/polymorphism/driver.cxx +++ b/common/inheritance/polymorphism/driver.cxx @@ -1029,7 +1029,11 @@ main (int argc, char* argv[]) // Root. // { +#ifdef HAVE_CXX11 + unique_ptr<root> p (db->load<root> (r.id)); +#else auto_ptr<root> p (db->load<root> (r.id)); +#endif r.num++; r.strs.push_back ("aaaa"); @@ -1053,7 +1057,11 @@ main (int argc, char* argv[]) // Base. // { +#ifdef HAVE_CXX11 + unique_ptr<base> p (db->load<base> (b.id)); +#else auto_ptr<base> p (db->load<base> (b.id)); +#endif b.num++; b.str += "b"; @@ -1081,7 +1089,11 @@ main (int argc, char* argv[]) // Derived. // { +#ifdef HAVE_CXX11 + unique_ptr<root> p (db->load<root> (d.id)); // Via root. +#else auto_ptr<root> p (db->load<root> (d.id)); // Via root. +#endif d.num++; d.str += "d"; @@ -1145,7 +1157,11 @@ main (int argc, char* argv[]) // Root. // { +#ifdef HAVE_CXX11 + unique_ptr<root> p (db->load<root> (r.id)); +#else auto_ptr<root> p (db->load<root> (r.id)); +#endif r.num++; r.strs.push_back ("aaaaa"); @@ -1165,7 +1181,11 @@ main (int argc, char* argv[]) // Base. // { +#ifdef HAVE_CXX11 + unique_ptr<base> p (db->load<base> (b.id)); +#else auto_ptr<base> p (db->load<base> (b.id)); +#endif b.num++; b.str += "b"; @@ -1187,7 +1207,11 @@ main (int argc, char* argv[]) // Derived. // { +#ifdef HAVE_CXX11 + unique_ptr<root> p (db->load<root> (d.id)); // Via root. +#else auto_ptr<root> p (db->load<root> (d.id)); // Via root. +#endif d.num++; d.str += "d"; @@ -1240,7 +1264,12 @@ main (int argc, char* argv[]) using namespace test6; base b (1, 1, "bbb"); + +#ifdef HAVE_CXX11 + unique_ptr<base> d (new derived (2, 2, "ddd")); +#else auto_ptr<base> d (new derived (2, 2, "ddd")); +#endif // Persist. // @@ -1256,8 +1285,13 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); +#ifdef HAVE_CXX11 + unique_ptr<base> pb (db->load<base> (b.id)); + unique_ptr<root> pd (db->load<root> (d->id)); +#else auto_ptr<base> pb (db->load<base> (b.id)); auto_ptr<root> pd (db->load<root> (d->id)); +#endif db->load (b.id, *pb); db->load (d->id, *pd); @@ -1319,7 +1353,12 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); + +#ifdef HAVE_CXX11 + unique_ptr<root> p (db->load<root> (d.id)); +#else auto_ptr<root> p (db->load<root> (d.id)); +#endif t.commit (); } } @@ -1479,9 +1518,15 @@ main (int argc, char* argv[]) // load (id) // +#ifdef HAVE_CXX11 + unique_ptr<root> pb (db->load<root> (b.id)); + unique_ptr<interm> pd1 (db->load<interm> (d1.id)); + unique_ptr<derived2> pd2 (db->load<derived2> (d2.id)); +#else auto_ptr<root> pb (db->load<root> (b.id)); auto_ptr<interm> pd1 (db->load<interm> (d1.id)); auto_ptr<derived2> pd2 (db->load<derived2> (d2.id)); +#endif assert (*pb == b); assert (*pd1 == d1); @@ -1563,9 +1608,17 @@ main (int argc, char* argv[]) { transaction t (db->begin ()); + +#ifdef HAVE_CXX11 + unique_ptr<base> pb (db->load<base> (b.id)); + unique_ptr<root> pd1 (db->load<root> (d1.id)); + unique_ptr<base> pd2 (db->load<base> (d2.id)); +#else auto_ptr<base> pb (db->load<base> (b.id)); auto_ptr<root> pd1 (db->load<root> (d1.id)); auto_ptr<base> pd2 (db->load<base> (d2.id)); +#endif + t.commit (); assert (*pb == b); @@ -1690,6 +1743,16 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); + +#ifdef HAVE_CXX11 + unique_ptr<ro_root> p_ro_r (db->load<ro_root> (ro_r.id)); + unique_ptr<ro_root> p_rw_b (db->load<ro_root> (rw_b.id)); + unique_ptr<ro_root> p_ro_d (db->load<ro_root> (ro_d.id)); + + unique_ptr<rw_root> p_rw_r (db->load<rw_root> (rw_r.id)); + unique_ptr<rw_root> p_ro_b (db->load<rw_root> (ro_b.id)); + unique_ptr<rw_root> p_rw_d (db->load<rw_root> (rw_d.id)); +#else auto_ptr<ro_root> p_ro_r (db->load<ro_root> (ro_r.id)); auto_ptr<ro_root> p_rw_b (db->load<ro_root> (rw_b.id)); auto_ptr<ro_root> p_ro_d (db->load<ro_root> (ro_d.id)); @@ -1697,6 +1760,8 @@ main (int argc, char* argv[]) auto_ptr<rw_root> p_rw_r (db->load<rw_root> (rw_r.id)); auto_ptr<rw_root> p_ro_b (db->load<rw_root> (ro_b.id)); auto_ptr<rw_root> p_rw_d (db->load<rw_root> (rw_d.id)); +#endif + t.commit (); assert (*p_ro_r == ro_r); @@ -1730,8 +1795,14 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); + +#ifdef HAVE_CXX11 + unique_ptr<root> pb (db->load<root> (b.id)); + unique_ptr<root> pd (db->load<root> (d.id)); +#else auto_ptr<root> pb (db->load<root> (b.id)); auto_ptr<root> pd (db->load<root> (d.id)); +#endif t.commit (); assert (*pb == b); @@ -1754,8 +1825,14 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); + +#ifdef HAVE_CXX11 + unique_ptr<root> pb (db->load<root> (b.id)); + unique_ptr<root> pd (db->load<root> (d.id)); +#else auto_ptr<root> pb (db->load<root> (b.id)); auto_ptr<root> pd (db->load<root> (d.id)); +#endif t.commit (); assert (*pb == b); @@ -1790,8 +1867,14 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); + +#ifdef HAVE_CXX11 + unique_ptr<base> pb (db->load<base> (b.id)); + unique_ptr<base> pd (db->load<base> (d.id)); +#else auto_ptr<base> pb (db->load<base> (b.id)); auto_ptr<base> pd (db->load<base> (d.id)); +#endif t.commit (); assert (*pb == b); @@ -1823,8 +1906,15 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); + +#ifdef HAVE_CXX11 + unique_ptr<base> pb (db->load<base> (b.id)); + unique_ptr<base> pd (db->load<base> (d.id)); +#else auto_ptr<base> pb (db->load<base> (b.id)); auto_ptr<base> pd (db->load<base> (d.id)); +#endif + t.commit (); assert (*pb == b); @@ -1885,8 +1975,15 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); + +#ifdef HAVE_CXX11 + unique_ptr<root> pb (db->load<root> (id1)); + unique_ptr<root> pd (db->load<root> (id2)); +#else auto_ptr<root> pb (db->load<root> (id1)); auto_ptr<root> pd (db->load<root> (id2)); +#endif + t.commit (); assert (*pb == b); @@ -1922,10 +2019,18 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); + +#ifdef HAVE_CXX11 + unique_ptr<root> pbr (db->load<root> (b.id)); + unique_ptr<root> pdr (db->load<root> (d.id)); + unique_ptr<base> pdb (db->load<base> (d.id)); + unique_ptr<root> pb1r (db->load<root> (b1.id)); +#else auto_ptr<root> pbr (db->load<root> (b.id)); auto_ptr<root> pdr (db->load<root> (d.id)); auto_ptr<base> pdb (db->load<base> (d.id)); auto_ptr<root> pb1r (db->load<root> (b1.id)); +#endif t.commit (); base& rb (static_cast<base&> (*pbr)); @@ -2044,7 +2149,12 @@ main (int argc, char* argv[]) // { transaction t (db->begin ()); + +#ifdef HAVE_CXX11 + unique_ptr<base> pb (db->load<base> (d.id)); +#else auto_ptr<base> pb (db->load<base> (d.id)); +#endif t.commit (); derived* pd (dynamic_cast<derived*> (pb.get ())); diff --git a/common/inheritance/polymorphism/test5.hxx b/common/inheritance/polymorphism/test5.hxx index e253f6a..78f909f 100644 --- a/common/inheritance/polymorphism/test5.hxx +++ b/common/inheritance/polymorphism/test5.hxx @@ -5,6 +5,8 @@ #ifndef TEST5_HXX #define TEST5_HXX +#include <common/config.hxx> // HAVE_CXX11 + #include <string> #include <vector> #include <memory> @@ -17,7 +19,11 @@ #pragma db namespace table("t5_") namespace test5 { +#ifdef HAVE_CXX11 + #pragma db object polymorphic optimistic pointer(std::unique_ptr) +#else #pragma db object polymorphic optimistic pointer(std::auto_ptr) +#endif struct root { virtual ~root () {} diff --git a/common/inheritance/polymorphism/test6.hxx b/common/inheritance/polymorphism/test6.hxx index 1682b3f..c12b5f4 100644 --- a/common/inheritance/polymorphism/test6.hxx +++ b/common/inheritance/polymorphism/test6.hxx @@ -5,6 +5,8 @@ #ifndef TEST6_HXX #define TEST6_HXX +#include <common/config.hxx> // HAVE_CXX11 + #include <string> #include <memory> @@ -16,7 +18,11 @@ #pragma db namespace table("t6_") namespace test6 { +#ifdef HAVE_CXX11 + #pragma db object polymorphic pointer(std::unique_ptr) +#else #pragma db object polymorphic pointer(std::auto_ptr) +#endif struct root { virtual ~root () {} @@ -55,7 +61,11 @@ namespace test6 unsigned long dnum; std::string dstr; +#ifdef HAVE_CXX11 + std::unique_ptr<root> ptr; +#else std::auto_ptr<root> ptr; +#endif void db_callback (odb::callback_event, odb::database&) const; diff --git a/common/prepared/driver.cxx b/common/prepared/driver.cxx index 0d30821..0467f70 100644 --- a/common/prepared/driver.cxx +++ b/common/prepared/driver.cxx @@ -33,13 +33,21 @@ query_factory (const char* name, connection& c) { typedef odb::query<person> query; +#ifdef HAVE_CXX11 + unique_ptr<params> p (new params); +#else auto_ptr<params> p (new params); +#endif prepared_query<person> pq ( c.prepare_query<person> ( name, query::age > query::_ref (p->age) && query::name != query::_ref (p->name))); +#ifdef HAVE_CXX11 + c.cache_query (pq, move (p)); +#else c.cache_query (pq, p); +#endif } int @@ -286,13 +294,13 @@ main (int argc, char* argv[]) { typedef odb::query<person> query; - auto_ptr<params> p (new params); + unique_ptr<params> p (new params); prepared_query<person> pq ( c.prepare_query<person> ( name, query::age > query::_ref (p->age) && query::name != query::_ref (p->name))); - c.cache_query (pq, p); + c.cache_query (pq, move (p)); }); for (unsigned int i (1); i < 6; ++i) diff --git a/common/query/basics/test.hxx b/common/query/basics/test.hxx index 3e61c57..74b5ff5 100644 --- a/common/query/basics/test.hxx +++ b/common/query/basics/test.hxx @@ -5,6 +5,8 @@ #ifndef TEST_HXX #define TEST_HXX +#include <common/config.hxx> // HAVE_CXX11 + #include <string> #include <vector> #include <memory> @@ -55,7 +57,11 @@ struct person std::string first_name_; #pragma db column ("middle") null +#ifdef HAVE_CXX11 + std::unique_ptr<std::string> middle_name_; +#else std::auto_ptr<std::string> middle_name_; +#endif #pragma db column ("last") std::string last_name_; diff --git a/common/readonly/test.hxx b/common/readonly/test.hxx index 689b571..926b596 100644 --- a/common/readonly/test.hxx +++ b/common/readonly/test.hxx @@ -5,6 +5,8 @@ #ifndef TEST_HXX #define TEST_HXX +#include <common/config.hxx> // HAVE_CXX11 + #include <vector> #include <memory> // std::auto_ptr @@ -203,10 +205,17 @@ struct wrapper #pragma db id unsigned long id; +#ifdef HAVE_CXX11 + std::unique_ptr<unsigned long> pl; + const std::unique_ptr<unsigned long> cpl; + std::unique_ptr<const unsigned long> pcl; + const std::unique_ptr<const unsigned long> cpcl; +#else std::auto_ptr<unsigned long> pl; const std::auto_ptr<unsigned long> cpl; std::auto_ptr<const unsigned long> pcl; const std::auto_ptr<const unsigned long> cpcl; +#endif }; // Readonly object with auto id. diff --git a/common/wrapper/test.hxx b/common/wrapper/test.hxx index 9e3dc2b..36aec87 100644 --- a/common/wrapper/test.hxx +++ b/common/wrapper/test.hxx @@ -231,7 +231,11 @@ namespace test5 unsigned long id; #pragma db null +#ifdef HAVE_CXX11 + std::unique_ptr<comp> p; +#else std::auto_ptr<comp> p; +#endif odb::nullable<comp> n; |