diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-07-23 15:25:44 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-07-23 15:25:44 +0200 |
commit | 8286ac511144e4f17d34eac9affb97e50646344a (patch) | |
tree | f1af7320d7b6be6be059216d0ad08ac7b4f73fd0 /xsd/tests/cxx/tree/complex/ctor/driver.cxx | |
parent | a15cf65c44d5c224169c32ef5495b68c758134b7 (diff) |
Imported Upstream version 4.0.0upstream/4.0.0
Diffstat (limited to 'xsd/tests/cxx/tree/complex/ctor/driver.cxx')
-rw-r--r-- | xsd/tests/cxx/tree/complex/ctor/driver.cxx | 53 |
1 files changed, 32 insertions, 21 deletions
diff --git a/xsd/tests/cxx/tree/complex/ctor/driver.cxx b/xsd/tests/cxx/tree/complex/ctor/driver.cxx index 55044a3..8ea8c87 100644 --- a/xsd/tests/cxx/tree/complex/ctor/driver.cxx +++ b/xsd/tests/cxx/tree/complex/ctor/driver.cxx @@ -1,6 +1,5 @@ // file : tests/cxx/tree/complex/ctor/driver.cxx -// author : Boris Kolpackov <boris@codesynthesis.com> -// copyright : Copyright (c) 2006-2010 Code Synthesis Tools CC +// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file // Test generation of varous complex type constructors. @@ -11,6 +10,13 @@ #include "test.hxx" +#ifdef XSD_CXX11 +# include <utility> // std::move +# define XSD_MOVE(x) std::move(x) +#else +# define XSD_MOVE(x) x +#endif + using namespace std; using namespace test; @@ -64,12 +70,12 @@ main () // e_base b1 (1, "foo", e_complex_type ("bar")); - auto_ptr<e_complex_type> c2 (new e_complex_type ("bar")); - e_base b2 (1, "foo", c2); + XSD_AUTO_PTR<e_complex_type> c2 (new e_complex_type ("bar")); + e_base b2 (1, "foo", XSD_MOVE (c2)); - auto_ptr<e_simple_type> s3 (new e_simple_type ("foo")); - auto_ptr<e_complex_type> c3 (new e_complex_type ("bar")); - e_base b3 (1, s3, c3); + XSD_AUTO_PTR<e_simple_type> s3 (new e_simple_type ("foo")); + XSD_AUTO_PTR<e_complex_type> c3 (new e_complex_type ("bar")); + e_base b3 (1, XSD_MOVE (s3), XSD_MOVE (c3)); assert (b1 == b2); assert (b1 == b3); @@ -79,15 +85,20 @@ main () e_derived d1 (1, "foo", e_complex_type ("bar"), true, "baz", e_complex_type ("biz")); - auto_ptr<e_complex_type> c2a (new e_complex_type ("bar")); - auto_ptr<e_complex_type> c2b (new e_complex_type ("biz")); - e_derived d2 (1, "foo", c2a, true, "baz", c2b); - - auto_ptr<e_simple_type> s3a (new e_simple_type ("foo")); - auto_ptr<xml_schema::string> s3b (new xml_schema::string ("baz")); - auto_ptr<e_complex_type> c3a (new e_complex_type ("bar")); - auto_ptr<e_complex_type> c3b (new e_complex_type ("biz")); - e_derived d3 (1, s3a, c3a, true, s3b, c3b); + XSD_AUTO_PTR<e_complex_type> c2a (new e_complex_type ("bar")); + XSD_AUTO_PTR<e_complex_type> c2b (new e_complex_type ("biz")); + e_derived d2 (1, "foo", XSD_MOVE (c2a), true, "baz", XSD_MOVE (c2b)); + + XSD_AUTO_PTR<e_simple_type> s3a (new e_simple_type ("foo")); + XSD_AUTO_PTR<xml_schema::string> s3b (new xml_schema::string ("baz")); + XSD_AUTO_PTR<e_complex_type> c3a (new e_complex_type ("bar")); + XSD_AUTO_PTR<e_complex_type> c3b (new e_complex_type ("biz")); + e_derived d3 (1, + XSD_MOVE (s3a), + XSD_MOVE (c3a), + true, + XSD_MOVE (s3b), + XSD_MOVE (c3b)); assert (d1 == d2); assert (d1 == d3); @@ -99,12 +110,12 @@ main () { f_type f1 (xml_schema::type (), 1, "foo", f_complex_type ("bar")); - auto_ptr<f_complex_type> c2 (new f_complex_type ("bar")); - f_type f2 (1, "foo", c2); + XSD_AUTO_PTR<f_complex_type> c2 (new f_complex_type ("bar")); + f_type f2 (1, "foo", XSD_MOVE (c2)); - auto_ptr<f_simple_type> s3 (new f_simple_type ("foo")); - auto_ptr<f_complex_type> c3 (new f_complex_type ("bar")); - f_type f3 (1, s3, c3); + XSD_AUTO_PTR<f_simple_type> s3 (new f_simple_type ("foo")); + XSD_AUTO_PTR<f_complex_type> c3 (new f_complex_type ("bar")); + f_type f3 (1, XSD_MOVE (s3), XSD_MOVE (c3)); assert (f1 == f2); assert (f1 == f3); |