[Mobies-commit] [commit] r4362 - UDM/trunk/src/Udm

ksmyth at redhat3.isis.vanderbilt.edu ksmyth at redhat3.isis.vanderbilt.edu
Fri Nov 6 08:41:34 CST 2015


Author: ksmyth
Date: Fri Nov  6 08:41:34 2015
New Revision: 4362

Log:
Udm.exe: need to generate copy assignment

Modified:
   UDM/trunk/src/Udm/ClassGen.cpp
   UDM/trunk/src/Udm/UdmCpp.cpp

Modified: UDM/trunk/src/Udm/ClassGen.cpp
==============================================================================
--- UDM/trunk/src/Udm/ClassGen.cpp	Fri Nov  6 08:41:29 2015	(r4361)
+++ UDM/trunk/src/Udm/ClassGen.cpp	Fri Nov  6 08:41:34 2015	(r4362)
@@ -149,6 +149,13 @@
 	// C& C::operator=(C &&a) { ::Udm::Object::operator =(std::move(a)); return *this; }
 	meth_rvalue_defs.push_back( boost::format("%1%& %1%::operator=(%1% &&a) { ::Udm::Object::operator =(std::move(a)); return *this; }") % cl_name );
 
+	// "A implicitly-declared copy assignment operator for class T is defined as deleted if any of the following is true:
+	// ... T has a user-declared move assignment operator"
+	// C& operator=(const C &a)
+	meth_rvalue_decls.push_back(boost::format("%1%& operator=(const %1% &a)") % cl_name);
+	// C& C::operator=(const C &a) { ::Udm::Object::operator =(std::move(a)); return *this; }
+	meth_rvalue_defs.push_back(boost::format("%1%& %1%::operator=(const %1% &a) { ::Udm::Object::operator =(a); return *this; }") % cl_name);
+
 	// static C Cast(const ::Udm::Object &a)
 	meth_decls.push_back( boost::format("static %1% Cast(const ::Udm::Object &a)") % cl_name );
 	// static C C::Cast(const ::Udm::Object &a) { return __Cast(a, meta); }

Modified: UDM/trunk/src/Udm/UdmCpp.cpp
==============================================================================
--- UDM/trunk/src/Udm/UdmCpp.cpp	Fri Nov  6 08:41:29 2015	(r4361)
+++ UDM/trunk/src/Udm/UdmCpp.cpp	Fri Nov  6 08:41:34 2015	(r4362)
@@ -307,7 +307,8 @@
 
 	vector<boost::format> r;
 
-	r.push_back( boost::format("#ifndef %1%\n\
+    r.push_back( boost::format("#pragma once\n\
+#ifndef %1%\n\
 #define %1%\n\
 \n\
 // header file %2%.h generated from diagram %3%\n\


More information about the Mobies-commit mailing list