#include <MRObject.h>
Public Member Functions | |
ObjectChildrenHolder ()=default | |
ObjectChildrenHolder (const ObjectChildrenHolder &) noexcept | |
ObjectChildrenHolder & | operator= (const ObjectChildrenHolder &) noexcept |
MRMESH_API | ObjectChildrenHolder (ObjectChildrenHolder &&) noexcept |
MRMESH_API ObjectChildrenHolder & | operator= (ObjectChildrenHolder &&) noexcept |
MRMESH_API | ~ObjectChildrenHolder () |
MRMESH_API std::shared_ptr< Object > | getSharedPtr () const |
MRMESH_API size_t | heapBytes () const |
Protected Attributes | |
ObjectChildrenHolder * | parent_ = nullptr |
std::vector< std::shared_ptr< Object > > | children_ |
std::vector< std::weak_ptr< Object > > | bastards_ |
recognized ones | |
the main purpose of this class is to avoid copy and move constructor and assignment operator implementation in Object class, which has too many fields for that; since every object stores a pointer on its parent, copying of this object does not copy the children and moving is taken with care
|
default |
|
inlinenoexcept |
|
noexcept |
MRMESH_API MR::ObjectChildrenHolder::~ObjectChildrenHolder | ( | ) |
|
nodiscard |
|
nodiscard |
returns the amount of memory this object occupies on heap, including the memory of all recognized children
|
inlinenoexcept |
|
noexcept |
|
protected |
recognized ones
|
protected |
|
protected |