From bada6666c70977a058755ccf232e7d67b24adeed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 23 Jul 2014 15:21:29 +0200 Subject: New upstream release --- xsd/tests/cxx/tree/detach/driver.cxx | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) (limited to 'xsd/tests/cxx/tree/detach/driver.cxx') diff --git a/xsd/tests/cxx/tree/detach/driver.cxx b/xsd/tests/cxx/tree/detach/driver.cxx index afcb90d..cabd9ea 100644 --- a/xsd/tests/cxx/tree/detach/driver.cxx +++ b/xsd/tests/cxx/tree/detach/driver.cxx @@ -1,22 +1,30 @@ // file : tests/cxx/tree/detach/driver.cxx -// author : Boris Kolpackov -// 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 the detach functionality. // -#include // std::auto_ptr +#include // std::auto_ptr/unique_ptr #include #include "test.hxx" +#ifdef XSD_CXX11 +# include // std::move +# define XSD_MOVE(x) std::move(x) +#else +# define XSD_MOVE(x) x +#endif + using namespace std; using namespace test; int main () { + using test::ref; + // Construct the model. // object o1 ("o1"); @@ -57,22 +65,22 @@ main () // Detach one. // - auto_ptr p (m.detach_one ()); + XSD_AUTO_PTR p (m.detach_one ()); assert (p->_container () == 0); assert (p->r ()[0].get () == &p->o ()[1]); assert (m.opt ()->r ()[1].get () == 0); - m.one (p); + m.one (XSD_MOVE (p)); assert (m.opt ()->r ()[1].get () == &m.one ().o ()[0]); p = m.detach_one (); model m1; - m1.one (p); + m1.one (XSD_MOVE (p)); m1.opt (s2); assert (m1.opt ()->r ()[1].get () == &m1.one ().o ()[0]); p = m1.detach_one (); - m.seq ().push_back (p); + m.seq ().push_back (XSD_MOVE (p)); // Detach opt. // @@ -82,7 +90,7 @@ main () assert (p->r ()[0].get () == &p->o ()[1]); assert (m.seq ()[0].r ()[1].get () == 0); - m.seq ().push_back (p); + m.seq ().push_back (XSD_MOVE (p)); // Detach seq. // @@ -91,7 +99,7 @@ main () assert (p->r ()[0].get () == &p->o ()[1]); assert (m.seq ()[0].r ()[1].get () == 0); - m.seq ().push_back (p); + m.seq ().push_back (XSD_MOVE (p)); assert (m.seq ()[0].r ()[1].get () == &m.seq ()[1].o ()[0]); m.seq ().detach (m.seq ().begin (), p); -- cgit v1.2.3