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. |