diff options
Diffstat (limited to 'xsd/tests/cxx/tree/detach')
| -rw-r--r-- | xsd/tests/cxx/tree/detach/driver.cxx | 26 | ||||
| -rw-r--r-- | xsd/tests/cxx/tree/detach/makefile | 14 | 
2 files changed, 26 insertions, 14 deletions
| 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 <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 the detach functionality.  // -#include <memory> // std::auto_ptr +#include <memory> // std::auto_ptr/unique_ptr  #include <cassert>  #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;  int  main ()  { +  using test::ref; +    // Construct the model.    //    object o1 ("o1"); @@ -57,22 +65,22 @@ main ()    // Detach one.    // -  auto_ptr<subtree> p (m.detach_one ()); +  XSD_AUTO_PTR<subtree> 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); diff --git a/xsd/tests/cxx/tree/detach/makefile b/xsd/tests/cxx/tree/detach/makefile index 938fba2..64def55 100644 --- a/xsd/tests/cxx/tree/detach/makefile +++ b/xsd/tests/cxx/tree/detach/makefile @@ -1,6 +1,5 @@  # file      : tests/cxx/tree/detach/makefile -# 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  include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make @@ -27,17 +26,17 @@ $(call import,\  #  $(driver): $(obj) $(xerces_c.l) -$(obj) $(dep): cpp_options := -I$(src_root)/libxsd +$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd  $(obj) $(dep): $(xerces_c.l.cpp-options)  genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx)  gen  := $(addprefix $(out_base)/,$(genf))  $(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options := --generate-detach --generate-default-ctor +$(gen): xsd_options += --generate-detach --generate-default-ctor  $(gen): $(out_root)/xsd/xsd -$(call include-dep,$(dep)) +$(call include-dep,$(dep),$(obj),$(gen))  # Convenience alias for default target.  # @@ -74,7 +73,12 @@ endif  $(call include,$(bld_root)/cxx/o-e.make)  $(call include,$(bld_root)/cxx/cxx-o.make)  $(call include,$(bld_root)/cxx/cxx-d.make) + +$(call include,$(bld_root)/cxx/standard.make) # cxx_standard +ifdef cxx_standard +$(gen): xsd_options += --std $(cxx_standard)  $(call include,$(scf_root)/xsd/tree/xsd-cxx.make) +endif  # Dependencies. | 
