1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2025-03-31 17:37:16 +02:00

Improve the constructors in shared buffers implementation.

This commit is contained in:
Sandu Liviu Catalin 2016-06-15 10:00:28 +03:00
parent bca0e1f3c6
commit 861c830bb7

View File

@ -231,13 +231,53 @@ public:
/* -------------------------------------------------------------------------------------------- /* --------------------------------------------------------------------------------------------
* Explicit size constructor. * Explicit size constructor.
*/ */
Buffer(SzType n) Buffer(SzType size)
: m_Ptr(nullptr) : m_Ptr(nullptr)
, m_Cap(0) , m_Cap(0)
, m_Cur(0) , m_Cur(0)
, m_Mem(MemRef::Get()) , m_Mem(MemRef::Get())
{ {
Request(n < 8 ? 8 : n); Request(size < 8 ? 8 : size);
}
/* --------------------------------------------------------------------------------------------
* Explicit size and cursor position constructor.
*/
Buffer(SzType size, SzType pos)
: m_Ptr(nullptr)
, m_Cap(0)
, m_Cur(0)
, m_Mem(MemRef::Get())
{
Request(size < 8 ? 8 : size);
Move(pos);
}
/* --------------------------------------------------------------------------------------------
* Explicit size and buffer constructor.
*/
Buffer(ConstPtr data, SzType size)
: m_Ptr(nullptr)
, m_Cap(0)
, m_Cur(0)
, m_Mem(MemRef::Get())
{
Request(size < 8 ? 8 : size);
m_Cur += Write(m_Cur, data, size);
}
/* --------------------------------------------------------------------------------------------
* Explicit size, data and cursor position constructor.
*/
Buffer(ConstPtr data, SzType size, SzType pos)
: m_Ptr(nullptr)
, m_Cap(0)
, m_Cur(0)
, m_Mem(MemRef::Get())
{
Request(size < 8 ? 8 : size);
m_Cur += Write(m_Cur, data, size);
Move(pos);
} }
/* -------------------------------------------------------------------------------------------- /* --------------------------------------------------------------------------------------------