summaryrefslogtreecommitdiff
path: root/ace/CDR_Stream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ace/CDR_Stream.cpp')
-rw-r--r--ace/CDR_Stream.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/ace/CDR_Stream.cpp b/ace/CDR_Stream.cpp
index 9220778588b..aea3198e0dd 100644
--- a/ace/CDR_Stream.cpp
+++ b/ace/CDR_Stream.cpp
@@ -1039,6 +1039,17 @@ ACE_InputCDR::reset (const ACE_Message_Block* data,
}
}
+void
+ACE_InputCDR::steal_from (ACE_InputCDR &cdr)
+{
+ this->do_byte_swap_ = cdr.do_byte_swap_;
+ this->start_.data_block (cdr.start_.data_block ()->duplicate ());
+ this->start_.rd_ptr (cdr.start_.rd_ptr ());
+ this->start_.wr_ptr (cdr.start_.wr_ptr ());
+
+ cdr.reset_contents ();
+}
+
ACE_Message_Block*
ACE_InputCDR::steal_contents (void)
{