diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2014-07-18 15:19:19 -0230 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2014-07-18 15:19:19 -0230 |
commit | 8cd44c40a322236ecad9ea48211fcea863829288 (patch) | |
tree | 7695bd981bd1d536a2986df8fd62e930e1b60342 /cpp | |
parent | Added Ice/context to allDemos.py files (diff) | |
download | ice-8cd44c40a322236ecad9ea48211fcea863829288.tar.bz2 ice-8cd44c40a322236ecad9ea48211fcea863829288.tar.xz ice-8cd44c40a322236ecad9ea48211fcea863829288.zip |
ICE-5316 added pos method to BasicStream that works for both read/write
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/include/Ice/BasicStream.h | 6 | ||||
-rw-r--r-- | cpp/src/Ice/BasicStream.cpp | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/cpp/include/Ice/BasicStream.h b/cpp/include/Ice/BasicStream.h index e01411aea1a..5e6d5007734 100644 --- a/cpp/include/Ice/BasicStream.h +++ b/cpp/include/Ice/BasicStream.h @@ -84,6 +84,7 @@ public: } b.resize(sz); + i = b.end(); } void startWriteObject(const Ice::SlicedDataPtr& data) @@ -854,6 +855,11 @@ public: } } + int pos() + { + return i - b.begin(); + } + void rewrite(Ice::Int value, size_type p) { write(value, b.begin() + p); diff --git a/cpp/src/Ice/BasicStream.cpp b/cpp/src/Ice/BasicStream.cpp index 18192e118e9..ddaa4f29656 100644 --- a/cpp/src/Ice/BasicStream.cpp +++ b/cpp/src/Ice/BasicStream.cpp @@ -53,7 +53,7 @@ public: // // Return unused bytes // - _stream.b.resize(firstUnused - _stream.b.begin()); + _stream.resize(firstUnused - _stream.b.begin()); } // @@ -1364,7 +1364,7 @@ IceInternal::BasicStream::writeConverted(const char* vdata, size_t vsize) Byte* lastByte = _stringConverter->toUTF8(vdata, vdata + vsize, buffer); if(lastByte != b.end()) { - b.resize(lastByte - b.begin()); + resize(lastByte - b.begin()); } size_t lastIndex = b.size(); @@ -1479,7 +1479,7 @@ IceInternal::BasicStream::write(const wstring& v) Byte* lastByte = _wstringConverter->toUTF8(v.data(), v.data() + v.size(), buffer); if(lastByte != b.end()) { - b.resize(lastByte - b.begin()); + resize(lastByte - b.begin()); } size_t lastIndex = b.size(); |