diff options
Diffstat (limited to 'ace/CDR_Stream.cpp')
-rw-r--r-- | ace/CDR_Stream.cpp | 11 |
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) { |