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