Skip to content

Commit 0ddc1ab

Browse files
committed
Renamed BitBufferRead.seek to seek_to_bit to match BitBufferWrite
Also added an optional argument to BitBufferRead constructor to decide whether or not a copy of the passed buffer should be created
1 parent ffec821 commit 0ddc1ab

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

src/core/modules/bitbuffers/bitbuffers.h

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
// Includes.
3232
//-----------------------------------------------------------------------------
3333
#include "tier1/bitbuf.h"
34+
#include "utilities/sp_util.h"
3435

3536

3637
//-----------------------------------------------------------------------------
@@ -57,12 +58,23 @@ class BitBufferWriteExt
5758
class BitBufferReadExt
5859
{
5960
public:
60-
static boost::shared_ptr<bf_read> __init__(bf_write& buffer)
61+
static boost::shared_ptr<bf_read> __init__(bf_write& buffer, bool create_copy)
6162
{
6263
int size = buffer.GetNumBytesWritten();
63-
void* pData = new unsigned char[size];
64-
memcpy(pData, buffer.GetData(), size);
65-
return boost::shared_ptr<bf_read>(new bf_read(pData, size), &__del__);
64+
if (create_copy)
65+
{
66+
void* pData = new unsigned char[size];
67+
memcpy(pData, buffer.GetData(), size);
68+
return boost::shared_ptr<bf_read>(
69+
new bf_read(pData, size),
70+
&__del__);
71+
}
72+
else
73+
{
74+
return boost::shared_ptr<bf_read>(
75+
new bf_read(buffer.GetData(), size),
76+
&NeverDeleteDeleter<bf_read*>);
77+
}
6678
}
6779

6880
static void __del__(bf_read* buffer)

src/core/modules/bitbuffers/bitbuffers_wrap.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,10 @@ void export_bf_read(scope _bitbuffers)
228228
{
229229
class_<bf_read>("BitBufferRead", init<void*, int, optional<int> >())
230230
.def("__init__",
231-
make_constructor(&BitBufferReadExt::__init__)
231+
make_constructor(
232+
&BitBufferReadExt::__init__,
233+
default_call_policies(),
234+
("buffer_write", arg("create_copy")=true))
232235
)
233236

234237
.def("read_one_bit",
@@ -335,7 +338,7 @@ void export_bf_read(scope _bitbuffers)
335338
&bf_read::IsOverflowed
336339
)
337340

338-
.def("seek",
341+
.def("seek_to_bit",
339342
&bf_read::Seek
340343
)
341344

0 commit comments

Comments
 (0)