summaryrefslogtreecommitdiff
path: root/xsd/cxx/tree/tree-header.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'xsd/cxx/tree/tree-header.cxx')
-rw-r--r--xsd/cxx/tree/tree-header.cxx52
1 files changed, 50 insertions, 2 deletions
diff --git a/xsd/cxx/tree/tree-header.cxx b/xsd/cxx/tree/tree-header.cxx
index 7e884c8..100a81c 100644
--- a/xsd/cxx/tree/tree-header.cxx
+++ b/xsd/cxx/tree/tree-header.cxx
@@ -1332,14 +1332,39 @@ namespace CXX
<< " * @param p A new value to use." << endl
<< " *" << endl
<< " * This function will try to use the passed value " <<
- "directly instead" << endl
- << " * of making a copy." << endl
+ "directly" << endl
+ << " * instead of making a copy." << endl
<< " */" << endl;
}
os << "void" << endl
<< mname << " (::std::auto_ptr< " << type << " > p);"
<< endl;
+
+ }
+
+ // auto_ptr<type>
+ // detach_name ();
+ //
+ if (detach && !fund)
+ {
+ if (doxygen)
+ {
+ os << "/**" << endl
+ << " * @brief Detach the " << kind << " value from " <<
+ "the object model." << endl
+ << " *" << endl
+ << " * @return A pointer to the " << kind << " value." << endl
+ << " *" << endl
+ << " * Note that this function leaves the required " <<
+ kind << " in " << endl
+ << " * the original object model uninitialized." << endl
+ << " */" << endl;
+ }
+
+ os << "::std::auto_ptr< " << type << " >" << endl
+ << edname (m) << " ();"
+ << endl;
}
}
}
@@ -3247,6 +3272,29 @@ namespace CXX
<< endl;
}
+ // auto_ptr<type>
+ // detach_name ();
+ //
+ if (detach && !fund)
+ {
+ if (doxygen)
+ {
+ os << "/**" << endl
+ << " * @brief Detach the element value from " <<
+ "the object." << endl
+ << " *" << endl
+ << " * @return A pointer to the element value." << endl
+ << " *" << endl
+ << " * Note that this function leaves the element " <<
+ "object uninitialized." << endl
+ << " */" << endl;
+ }
+
+ os << "::std::auto_ptr< " << type << " >" << endl
+ << edname (e) << " ();"
+ << endl;
+ }
+
if (doxygen)
{
os << "/**" << endl