#include <MRObject.h>
Inheritance diagram for MR::ObjectChildrenHolder: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 |