aboutsummaryrefslogtreecommitdiff
path: root/xsde/cxx/serializer/serializer-header.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'xsde/cxx/serializer/serializer-header.cxx')
-rw-r--r--xsde/cxx/serializer/serializer-header.cxx29
1 files changed, 28 insertions, 1 deletions
diff --git a/xsde/cxx/serializer/serializer-header.cxx b/xsde/cxx/serializer/serializer-header.cxx
index a849946..9321482 100644
--- a/xsde/cxx/serializer/serializer-header.cxx
+++ b/xsde/cxx/serializer/serializer-header.cxx
@@ -1147,17 +1147,44 @@ namespace CXX
os << "// Serializer construction API." << endl
<< "//" << endl;
+ // serializers ()
+ //
os << "void" << endl
<< "serializers (";
{
- SerializerParamDecl decl (*this, false);
+ SerializerParamDecl decl (*this, false, false);
decl.traverse (c);
}
os << ");"
<< endl;
+ // serializer_maps ()
+ //
+ if (poly_code && he)
+ {
+ Boolean r (false);
+ SerializerParamTest test (*this, r, true);
+ test.traverse (c);
+
+ // Have potentially polymorphic elements.
+ //
+ if (r)
+ {
+ os << "void" << endl
+ << "serializer_maps (";
+
+ {
+ SerializerParamDecl decl (*this, false, true);
+ decl.traverse (c);
+ }
+
+ os << ");"
+ << endl;
+ }
+ }
+
if (ha)
{
os << "// Individual attribute serializers." << endl