MeshLib C# Docs
Loading...
Searching...
No Matches
MR.ConstChildren Class Reference

read-only access to the children of an Object, as returned by Object.constChildren() Object stores its children as std::shared_ptr<Object>, and a const Object cannot hand them out directly without either dropping constness or copying the whole vector. This class solves that: it is a lightweight non-owning view on the object's children, which produces std::shared_ptr<const Object> on the fly. Typical use: for ( const auto & child : obj.constChildren() ) processRecursively( *child ); It is also indexable, so a plain loop works too: for ( size_t i = 0; i < obj.constChildren().size(); ++i ) process( *obj.constChildren()[i] ); The view refers to the object's own storage, so use it as a temporary and do not store it: it is invalidated by anything that adds, removes or reorders the object's children, exactly like an iterator of the underlying vector. Generated from class MR.ConstChildren. This is the non-const half of the class. More...

Inheritance diagram for MR.ConstChildren:

Public Member Functions

unsafe ConstChildren (MR.Const_ConstChildren _other)
 Generated from constructor MR.ConstChildren.ConstChildren.
 ConstChildren (ConstChildren _other)
 Generated from constructor MR.ConstChildren.ConstChildren.
unsafe ConstChildren (MR.Std.Const_Vector_StdSharedPtrMRObject children)
 Generated from constructor MR.ConstChildren.ConstChildren.
Public Member Functions inherited from MR.Const_ConstChildren
virtual void Dispose ()
IEnumerator< MR.Std.SharedPtr_ConstMRObject > GetEnumerator ()
unsafe Const_ConstChildren (MR.Const_ConstChildren _other)
 Generated from constructor MR.ConstChildren.ConstChildren.
 Const_ConstChildren (ConstChildren _other)
 Generated from constructor MR.ConstChildren.ConstChildren.
unsafe Const_ConstChildren (MR.Std.Const_Vector_StdSharedPtrMRObject children)
 Generated from constructor MR.ConstChildren.ConstChildren.
unsafe MR.ConstChildren.Iterator begin ()
 Generated from method MR.ConstChildren.begin.
unsafe MR.ConstChildren.Iterator end ()
 Generated from method MR.ConstChildren.end.
unsafe bool empty ()
 Generated from method MR.ConstChildren.empty.
unsafe nuint size ()
 Generated from method MR.ConstChildren.size.

Additional Inherited Members

Protected Member Functions inherited from MR.Const_ConstChildren
virtual unsafe void Dispose (bool disposing)
Properties inherited from MR.Const_ConstChildren
unsafe MR.Std.SharedPtr_ConstMRObject this[nuint i] [get]
 Generated from method MR::ConstChildren::operator[].

Detailed Description

read-only access to the children of an Object, as returned by Object.constChildren() Object stores its children as std::shared_ptr<Object>, and a const Object cannot hand them out directly without either dropping constness or copying the whole vector. This class solves that: it is a lightweight non-owning view on the object's children, which produces std::shared_ptr<const Object> on the fly. Typical use: for ( const auto & child : obj.constChildren() ) processRecursively( *child ); It is also indexable, so a plain loop works too: for ( size_t i = 0; i < obj.constChildren().size(); ++i ) process( *obj.constChildren()[i] ); The view refers to the object's own storage, so use it as a temporary and do not store it: it is invalidated by anything that adds, removes or reorders the object's children, exactly like an iterator of the underlying vector. Generated from class MR.ConstChildren. This is the non-const half of the class.

Constructor & Destructor Documentation

◆ ConstChildren() [1/3]

unsafe MR.ConstChildren.ConstChildren ( MR.Const_ConstChildren _other)
inline

Generated from constructor MR.ConstChildren.ConstChildren.

◆ ConstChildren() [2/3]

MR.ConstChildren.ConstChildren ( ConstChildren _other)
inline

Generated from constructor MR.ConstChildren.ConstChildren.

◆ ConstChildren() [3/3]

unsafe MR.ConstChildren.ConstChildren ( MR.Std.Const_Vector_StdSharedPtrMRObject children)
inline

Generated from constructor MR.ConstChildren.ConstChildren.


The documentation for this class was generated from the following file: