| begin() | 用于访问底层集合的 begin() 方法的访问器。仅在 SmartPtr_ 为具有 begin() 方法的特化类型时编译。 |
| begin() const | 用于访问底层集合的 begin() 方法的访问器。仅在 SmartPtr_ 为具有 begin() 方法的特化类型时编译。 |
| Cast() const | 将指针强制转换为其自身类型。 |
| Cast() const | 使用 static_cast 将指针转换为基类型。 |
| Cast() const | 使用 dynamic_cast 将指针转换为派生类型。 |
| Cast() const | 使用 dynamic_cast 将指针转换为派生类型。 |
| cbegin() const | 用于访问底层集合的 cbegin() 方法的访问器。仅在 SmartPtr_ 为具有 cbegin() 方法的特化类型时编译。 |
| cend() const | 用于访问底层集合的 cend() 方法的访问器。仅在 SmartPtr_ 为具有 cend() 方法的特化类型时编译。 |
| const_pointer_cast() const | 使用 const_cast 对指向的对象进行类型转换。 |
| dynamic_pointer_cast() const | 使用 dynamic_cast 对指向的对象进行类型转换。 |
| end() | 用于访问底层集合的 end() 方法的访问器。仅在 SmartPtr_ 为具有 end() 方法的特化类型时编译。 |
| end() const | 用于访问底层集合的 end() 方法的访问器。仅在 SmartPtr_ 为具有 end() 方法的特化类型时编译。 |
| get() const | 获取指向的对象。 |
| get_Mode() const | 获取指针模式。 |
| get_shared() const | 获取指向的对象,但断言指针处于共享模式。 |
| get_shared_count() const | 获取指向被引用对象的共享指针数量,包括当前指针。断言当前指针处于共享模式。 |
| GetHashCode() const | 对指向的对象调用 GetHashCode()。 |
| GetObjectNotNull() const | 获取当前引用的对象(如果有),否则抛出异常。 |
| GetObjectOrNull() const | 获取指向的对象(如果有),否则返回 nullptr。等同于 get()。 |
| GetObjectOwner() const | 获取被引用的对象。 |
| GetPointer() const | 获取指向的对象(如果有),否则返回 nullptr。等同于 get()。 |
| Is(const System::TypeInfo&) const | 检查指向的对象是否为特定类型或其子类型。遵循 C# 的 ‘is’ 语义。 |
| IsAliasingPtr() const | 检查指针是否指向除拥有对象之外的其他对象(由别名构造函数创建)。 |
| IsShared() const | 检查指针是否处于共享模式。 |
| IsWeak() const | 检查指针是否处于弱引用模式。 |
| explicit operator bool() const | 检查指针是否非空。 |
| operator!() const | 检查指针是否为空。 |
| operator*() const | 获取指向对象的引用。断言指针非空。 |
| operator->() const | 允许访问被引用对象的成员。 |
| operator<(Y *) const | 为 SmartPtr 类提供小于比较语义。 |
| operator<(SmartPtr<Y> const&) const | 为 SmartPtr 类提供小于比较语义。 |
| operator=(SmartPtr_&&) | 对 SmartPtr 对象进行移动赋值。x 将变得不可用。 |
| operator=(const SmartPtr_&) | 对 SmartPtr 对象进行拷贝赋值。 |
| operator=(const SmartPtr<Q>&) | 对 SmartPtr 对象进行拷贝赋值。执行所需的类型转换。 |
| operator=(Pointee_ *) | 将原始指针赋给 SmartPtr 对象。 |
| operator=(std::nullptr_t) | 将指针值设为 nullptr。 |
| operator==(std::nullptr_t) const | 检查指针是否指向 nullptr。 |
| operator[](IdxType) const | 数组元素的访问器。仅在 SmartPtr_ 是 System::Array 的特化时编译。 |
| RemoveAliasing() const | 从指针中移除别名(由别名构造函数创建),确保它管理(如果是共享)或跟踪(如果是弱引用)指向的同一对象。 |
| reset(Pointee_ *) | 设置指向的对象。 |
| reset() | 使指针指向 nullptr。 |
| set_Mode(SmartPtrMode) | 设置指针模式。可能会更改被引用对象的引用计数。 |
| SetContainedTemplateWeakPtr(uint32_t) const | 在指向的对象上调用 SetTemplateWeakPtr() 方法(如果有)。 |
| SmartPtr(SmartPtrMode) | 创建所需模式的 SmartPtr 对象。 |
| SmartPtr(std::nullptr_t, SmartPtrMode) | 创建所需模式的空指针 SmartPtr 对象。 |
| SmartPtr(Pointee_ *, SmartPtrMode) | 创建指向指定对象的 SmartPtr,或将原始指针转换为 SmartPtr。 |
| SmartPtr(const SmartPtr_&, SmartPtrMode) | 复制构造 SmartPtr 对象。之后两个指针指向同一对象。 |
| SmartPtr(const SmartPtr<Q>&, SmartPtrMode) | 复制构造 SmartPtr 对象。之后两个指针指向同一对象。如果允许,则执行类型转换。 |
| SmartPtr(SmartPtr_&&, SmartPtrMode) | 移动构造 SmartPtr 对象。实际上,如果两个指针模式相同,则交换它们。调用后 x 可能不可用。 |
| explicit SmartPtr(const SmartPtr<Array<Y>>&, SmartPtrMode) | 通过创建不同类型的新数组来转换被引用数组的类型。如果在 C# 中存在 C++ 不支持的数组类型转换,这将非常有用。 |
| explicit SmartPtr(const Y&) | 初始化空数组。用于翻译某些 C# 代码结构。 |
| SmartPtr(const SmartPtr<P>&, Pointee_ *, SmartPtrMode) | 构造一个与 ptr 初始值共享所有权信息的 SmartPtr,但持有一个不相关且未管理的指针 p。 |
| static_pointer_cast() const | 使用 static_cast 对指向的对象进行指针类型转换。 |
| ToObjectPtr() const | 将任意指针类型转换为指向 Object 的指针。无需 Pointee_ 类型完整。 |
| static Type() | 获取 Pointee_ 类型的 System::TypeInfo 对象的快捷方式。 |
| ~SmartPtr() | 销毁 SmartPtr 对象。如有必要,减少指向对象的引用计数并删除对象。 |