summaryrefslogtreecommitdiff
path: root/cpp/include/Ice/BasicStream.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include/Ice/BasicStream.h')
-rw-r--r--cpp/include/Ice/BasicStream.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/cpp/include/Ice/BasicStream.h b/cpp/include/Ice/BasicStream.h
index 1a8be26512f..efd7944e17f 100644
--- a/cpp/include/Ice/BasicStream.h
+++ b/cpp/include/Ice/BasicStream.h
@@ -515,6 +515,27 @@ readSequence5(::IceInternal::BasicStream* __is, T& seq, void (*func)(::IceIntern
}
}
+// Sequences of Classes
+template<typename T> void
+readSequence6(::IceInternal::BasicStream* __is, T& seq, int elemSize, void (*func)(void*, ::Ice::ObjectPtr&))
+{
+ ::Ice::Int size;
+ __is->readSize(size);
+ T(size).swap(seq);
+ if(size > 0)
+ {
+ __is->startSeq(size, elemSize);
+ typedef typename T::iterator I;
+ for(I p = seq.begin(); p != seq.end(); ++p)
+ {
+ __is->read(*func, &(*p));
+ __is->checkSeq();
+ __is->endElement();
+ }
+ __is->endSeq(size);
+ }
+}
+
} // End namespace IceInternal
#endif