Memory streams - Move constructor for T_MemoryOutputStream
This commit is contained in:
parent
a4a2a9eda4
commit
90cf63c592
2 changed files with 13 additions and 0 deletions
|
@ -47,6 +47,7 @@ class T_MemoryOutputStream final : public A_OutputStream
|
||||||
T_MemoryOutputStream( ) = delete;
|
T_MemoryOutputStream( ) = delete;
|
||||||
|
|
||||||
T_MemoryOutputStream( void* buffer , size_t size , F_Resizer resizer = nullptr );
|
T_MemoryOutputStream( void* buffer , size_t size , F_Resizer resizer = nullptr );
|
||||||
|
T_MemoryOutputStream( T_MemoryOutputStream&& source ) noexcept;
|
||||||
|
|
||||||
template< int S , typename T >
|
template< int S , typename T >
|
||||||
explicit T_MemoryOutputStream( T_FixedBuffer< S , T >& buffer );
|
explicit T_MemoryOutputStream( T_FixedBuffer< S , T >& buffer );
|
||||||
|
|
|
@ -39,6 +39,18 @@ T_MemoryOutputStream::T_MemoryOutputStream( void* buffer , size_t size , F_Resiz
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
|
||||||
|
T_MemoryOutputStream::T_MemoryOutputStream(
|
||||||
|
T_MemoryOutputStream&& other ) noexcept
|
||||||
|
: A_OutputStream( other.position_ , other.size_ ) ,
|
||||||
|
buffer_{ other.buffer_ } ,
|
||||||
|
resizer_{ other.resizer_ }
|
||||||
|
{
|
||||||
|
other.size_ = other.position_ = 0;
|
||||||
|
other.resizer_ = nullptr;
|
||||||
|
other.buffer_ = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
size_t T_MemoryOutputStream::write( void const* data , size_t size )
|
size_t T_MemoryOutputStream::write( void const* data , size_t size )
|
||||||
{
|
{
|
||||||
if ( position_ == size_ && !resizer_ ) {
|
if ( position_ == size_ && !resizer_ ) {
|
||||||
|
|
Loading…
Reference in a new issue