summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cpp
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2002-01-29 02:03:02 +0000
committerMatthew Newhook <matthew@zeroc.com>2002-01-29 02:03:02 +0000
commit1a347f053ed10e965411c4768567d3c6d0b0e424 (patch)
tree56685aadd79e5e7b954850369616e4d7915dbe1b /cpp/src/slice2cpp
parentfix (diff)
downloadice-1a347f053ed10e965411c4768567d3c6d0b0e424.tar.bz2
ice-1a347f053ed10e965411c4768567d3c6d0b0e424.tar.xz
ice-1a347f053ed10e965411c4768567d3c6d0b0e424.zip
Added test/IceXML/encoding. Various bug fixes for IceXML.
Diffstat (limited to 'cpp/src/slice2cpp')
-rw-r--r--cpp/src/slice2cpp/Gen.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp
index 23f6bb1afa6..03bd81faf60 100644
--- a/cpp/src/slice2cpp/Gen.cpp
+++ b/cpp/src/slice2cpp/Gen.cpp
@@ -785,8 +785,10 @@ Slice::Gen::TypesVisitor::visitDictionary(const DictionaryPtr& p)
C << nl << scoped << "::const_iterator p;";
C << nl << "for (p = v.begin(); p != v.end(); ++p)";
C << sb;
+ C << nl << "__os->startWriteDictionaryElement();";
writeGenericMarshalUnmarshalCode(C, keyType, "p->first", true, "\"key\"");
writeGenericMarshalUnmarshalCode(C, valueType, "p->second", true, "\"value\"");
+ C << nl << "__os->endWriteDictionaryElement();";
C << eb;
C << nl << "__os->endWriteDictionary();";
C << eb;
@@ -799,8 +801,10 @@ Slice::Gen::TypesVisitor::visitDictionary(const DictionaryPtr& p)
C << nl << "while (sz--)";
C << sb;
C << nl << "::std::pair<" << ks << ", " << vs << "> pair;";
+ C << nl << "__is->startReadDictionaryElement();";
writeGenericMarshalUnmarshalCode(C, keyType, "pair.first", false, "\"key\"");
writeGenericMarshalUnmarshalCode(C, valueType, "pair.second", false, "\"value\"");
+ C << nl << "__is->endReadDictionaryElement();";
C << nl << "v.insert(v.end(), pair);";
C << eb;
C << nl << "__is->endReadDictionary();";