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.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/cpp/include/Ice/BasicStream.h b/cpp/include/Ice/BasicStream.h
index 32ccf3f5537..bb9f66d8bcb 100644
--- a/cpp/include/Ice/BasicStream.h
+++ b/cpp/include/Ice/BasicStream.h
@@ -70,8 +70,19 @@ public:
b.resize(sz);
}
+
void reserve(Container::size_type);
+ void startSeq(int, int);
+ void checkSeq();
+ void checkSeq(int);
+ void endElement()
+ {
+ assert(_seqDataStack);
+ --_seqDataStack->numElements;
+ }
+ void endSeq(int);
+
void startWriteEncaps();
void endWriteEncaps();
@@ -270,6 +281,15 @@ private:
const Container::size_type _messageSizeMax;
+ struct SeqData
+ {
+ SeqData(int, int);
+ int numElements;
+ int minSize;
+ SeqData* previous;
+ };
+ SeqData* _seqDataStack;
+
ObjectList* _objectList;
};