| begin() | Accessor for begin() method of an underling collection. Only compiles if SmartPtr_ is specialization type with begin() method. |
| begin() const | Accessor for begin() method of an underling collection. Only compiles if SmartPtr_ is specialization type with begin() method. |
| Cast() const | Casts pointer to its type itself. |
| Cast() const | Casts pointer to base type using static_cast. |
| Cast() const | Casts pointer to derived type dynamic_cast. |
| Cast() const | Casts pointer to derived type dynamic_cast. |
| cbegin() const | Accessor for cbegin() method of an underling collection. Only compiles if SmartPtr_ is specialization type with cbegin() method. |
| cend() const | Accessor for cend() method of an underling collection. Only compiles if SmartPtr_ is specialization type with cend() method. |
| const_pointer_cast() const | Casts pointer to different type using const_cast on pointed object. |
| dynamic_pointer_cast() const | Casts pointer to different type using dynamic_cast on pointed object. |
| end() | Accessor for end() method of an underling collection. Only compiles if SmartPtr_ is specialization type with end() method. |
| end() const | Accessor for end() method of an underling collection. Only compiles if SmartPtr_ is specialization type with end() method. |
| get() const | Gets pointed object. |
| get_Mode() const | Gets pointer mode. |
| get_shared() const | Gets pointed object, but asserts that pointer is in shared mode. |
| get_shared_count() const | Gets number of shared pointers existing to referenced object, including current one. Asserts current pointer being in shared mode. |
| GetHashCode() const | Calls GetHashCode() on pointed object. |
| GetObjectNotNull() const | Gets currently referenced object (if any) or throws. |
| GetObjectOrNull() const | Gets pointed object (if any) or nullptr. Same as get(). |
| GetObjectOwner() const | Gets referenced object. |
| GetPointer() const | Gets pointed object (if any) or nullptr. Same as get(). |
| Is(const System::TypeInfo&) const | Checks if pointed object is of specific type or its child type. Follows C# ‘is’ semantics. |
| IsAliasingPtr() const | Checks if pointer is pointed to another object than owned (created by an aliasing constructor). |
| IsShared() const | Checks if pointer is in shared mode. |
| IsWeak() const | Checks if pointer is in weak mode. |
| explicit operator bool() const | Checks if pointer is not null. |
| operator!() const | Checks if pointer is null. |
| operator*() const | Gets reference to pointed object. Asserts that pointer is not null. |
| operator->() const | Allows to access members of referenced object. |
| operator<(Y *) const | Provides less-compare semantics for SmartPtr class. |
| operator<(SmartPtr<Y> const&) const | Provides less-compare semantics for SmartPtr class. |
| operator=(SmartPtr_&&) | Move-assigns SmartPtr object. x becomes unusable. |
| operator=(const SmartPtr_&) | Copy-assigns SmartPtr object. |
| operator=(const SmartPtr<Q>&) | Copy-assigns SmartPtr object. Does required type conversions. |
| operator=(Pointee_ *) | Assigns raw pointer to SmartPtr object. |
| operator=(std::nullptr_t) | Sets pointer value to nullptr. |
| operator==(std::nullptr_t) const | Checks if pointer points to nullptr. |
| operator[](IdxType) const | Accessor for array elements. Only compiles if SmartPtr_ is specialization of System::Array. |
| RemoveAliasing() const | Removes aliasing (created by an aliasing constructor) from pointer, makes sure it manages (if shared) or tracks (if weak) the same object it points to. |
| reset(Pointee_ *) | Sets pointed object. |
| reset() | Makes pointer pointing to nullptr. |
| set_Mode(SmartPtrMode) | Sets pointer mode. May alter referenced object’s reference counts. |
| SetContainedTemplateWeakPtr(uint32_t) const | Calls SetTemplateWeakPtr() method on pointed object (if any). |
| SmartPtr(SmartPtrMode) | Creates SmartPtr object of required mode. |
| SmartPtr(std::nullptr_t, SmartPtrMode) | Creates null-pointer SmartPtr object of required mode. |
| SmartPtr(Pointee_ *, SmartPtrMode) | Creates SmartPtr pointing to specified object, or converts raw pointer to SmartPtr. |
| SmartPtr(const SmartPtr_&, SmartPtrMode) | Copy constructs SmartPtr object. Both pointers point to the same object afterwards. |
| SmartPtr(const SmartPtr<Q>&, SmartPtrMode) | Copy constructs SmartPtr object. Both pointers point to the same object afterwards. Performs type conversion if allowed. |
| SmartPtr(SmartPtr_&&, SmartPtrMode) | Move constructs SmartPtr object. Effectively, swaps two pointers, if they are both of same mode. x may be unusable after call. |
| explicit SmartPtr(const SmartPtr<Array<Y>>&, SmartPtrMode) | Converts type of referenced array by creating a new array of different type. Useful if in C# there is an array type cast which is unsupported in C++. |
| explicit SmartPtr(const Y&) | Initializes empty array. Used to translate some C# code constructs. |
| SmartPtr(const SmartPtr<P>&, Pointee_ *, SmartPtrMode) | Constructs a SmartPtr which shares ownership information with the initial value of ptr, but holds an unrelated and unmanaged pointer p. |
| static_pointer_cast() const | Casts pointer to different type using static_cast on pointed object. |
| ToObjectPtr() const | Converts any pointer type to pointer to Object. Doesn’t require Pointee_ type to be complete. |
| static Type() | Shortcut to get System::TypeInfo object for the Pointee_ type. |
| ~SmartPtr() | Destroys SmartPtr object. If required, decreases pointed object’s reference counter and deletes object. |