gobj: Enable slightly more efficient GeomVertexReader/Writer ctor

This allows moving an existing PT(GeomVertexData) into the object, preventing an extra refcount increase.
This commit is contained in:
rdb 2020-12-14 11:16:11 +01:00
parent 902ada10b8
commit 79714392cb
4 changed files with 24 additions and 24 deletions

View File

@ -29,9 +29,9 @@ GeomVertexReader(Thread *current_thread) :
* object.
*/
INLINE GeomVertexReader::
GeomVertexReader(const GeomVertexData *vertex_data,
GeomVertexReader(CPT(GeomVertexData) vertex_data,
Thread *current_thread) :
_vertex_data(vertex_data),
_vertex_data(std::move(vertex_data)),
_current_thread(current_thread)
{
initialize();
@ -43,10 +43,10 @@ GeomVertexReader(const GeomVertexData *vertex_data,
* data type.
*/
INLINE GeomVertexReader::
GeomVertexReader(const GeomVertexData *vertex_data,
GeomVertexReader(CPT(GeomVertexData) vertex_data,
CPT_InternalName name,
Thread *current_thread) :
_vertex_data(vertex_data),
_vertex_data(std::move(vertex_data)),
_current_thread(current_thread)
{
initialize();
@ -58,9 +58,9 @@ GeomVertexReader(const GeomVertexData *vertex_data,
* only.
*/
INLINE GeomVertexReader::
GeomVertexReader(const GeomVertexArrayData *array_data,
GeomVertexReader(CPT(GeomVertexArrayData) array_data,
Thread *current_thread) :
_array_data(array_data),
_array_data(std::move(array_data)),
_current_thread(current_thread)
{
initialize();
@ -71,9 +71,9 @@ GeomVertexReader(const GeomVertexArrayData *array_data,
* only.
*/
INLINE GeomVertexReader::
GeomVertexReader(const GeomVertexArrayData *array_data, int column,
GeomVertexReader(CPT(GeomVertexArrayData) array_data, int column,
Thread *current_thread) :
_array_data(array_data),
_array_data(std::move(array_data)),
_current_thread(current_thread)
{
initialize();

View File

@ -47,14 +47,14 @@
class EXPCL_PANDA_GOBJ GeomVertexReader : public GeomEnums {
PUBLISHED:
INLINE GeomVertexReader(Thread *current_thread = Thread::get_current_thread());
INLINE GeomVertexReader(const GeomVertexData *vertex_data,
INLINE GeomVertexReader(CPT(GeomVertexData) vertex_data,
Thread *current_thread = Thread::get_current_thread());
INLINE GeomVertexReader(const GeomVertexData *vertex_data,
INLINE GeomVertexReader(CPT(GeomVertexData) vertex_data,
CPT_InternalName name,
Thread *current_thread = Thread::get_current_thread());
INLINE GeomVertexReader(const GeomVertexArrayData *array_data,
INLINE GeomVertexReader(CPT(GeomVertexArrayData) array_data,
Thread *current_thread = Thread::get_current_thread());
INLINE GeomVertexReader(const GeomVertexArrayData *array_data,
INLINE GeomVertexReader(CPT(GeomVertexArrayData) array_data,
int column,
Thread *current_thread = Thread::get_current_thread());

View File

@ -29,8 +29,8 @@ GeomVertexWriter(Thread *current_thread) :
* object.
*/
INLINE GeomVertexWriter::
GeomVertexWriter(GeomVertexData *vertex_data, Thread *current_thread) :
_vertex_data(vertex_data),
GeomVertexWriter(PT(GeomVertexData) vertex_data, Thread *current_thread) :
_vertex_data(std::move(vertex_data)),
_current_thread(current_thread)
{
initialize();
@ -42,9 +42,9 @@ GeomVertexWriter(GeomVertexData *vertex_data, Thread *current_thread) :
* data type.
*/
INLINE GeomVertexWriter::
GeomVertexWriter(GeomVertexData *vertex_data, CPT_InternalName name,
GeomVertexWriter(PT(GeomVertexData) vertex_data, CPT_InternalName name,
Thread *current_thread) :
_vertex_data(vertex_data),
_vertex_data(std::move(vertex_data)),
_current_thread(current_thread)
{
initialize();
@ -56,9 +56,9 @@ GeomVertexWriter(GeomVertexData *vertex_data, CPT_InternalName name,
* only.
*/
INLINE GeomVertexWriter::
GeomVertexWriter(GeomVertexArrayData *array_data,
GeomVertexWriter(PT(GeomVertexArrayData) array_data,
Thread *current_thread) :
_array_data(array_data),
_array_data(std::move(array_data)),
_current_thread(current_thread)
{
initialize();
@ -69,9 +69,9 @@ GeomVertexWriter(GeomVertexArrayData *array_data,
* only.
*/
INLINE GeomVertexWriter::
GeomVertexWriter(GeomVertexArrayData *array_data, int column,
GeomVertexWriter(PT(GeomVertexArrayData) array_data, int column,
Thread *current_thread) :
_array_data(array_data),
_array_data(std::move(array_data)),
_current_thread(current_thread)
{
initialize();

View File

@ -55,14 +55,14 @@
class EXPCL_PANDA_GOBJ GeomVertexWriter : public GeomEnums {
PUBLISHED:
INLINE GeomVertexWriter(Thread *current_thread = Thread::get_current_thread());
INLINE GeomVertexWriter(GeomVertexData *vertex_data,
INLINE GeomVertexWriter(PT(GeomVertexData) vertex_data,
Thread *current_thread = Thread::get_current_thread());
INLINE GeomVertexWriter(GeomVertexData *vertex_data,
INLINE GeomVertexWriter(PT(GeomVertexData) vertex_data,
CPT_InternalName name,
Thread *current_thread = Thread::get_current_thread());
INLINE GeomVertexWriter(GeomVertexArrayData *array_data,
INLINE GeomVertexWriter(PT(GeomVertexArrayData) array_data,
Thread *current_thread = Thread::get_current_thread());
INLINE GeomVertexWriter(GeomVertexArrayData *array_data,
INLINE GeomVertexWriter(PT(GeomVertexArrayData) array_data,
int column,
Thread *current_thread = Thread::get_current_thread());