ELC in dev
ELC-lang
载入中...
搜索中...
未找到
elc::defs::memory::ptr_n::weak_ref_able< T > 模板结构体 参考
类 elc::defs::memory::ptr_n::weak_ref_able< T > 继承关系图:
[图例]
elc::defs::memory::ptr_n::weak_ref_able< T > 的协作图:
[图例]

Public 成员函数

void cut_ref () const noexcept
 
- Public 成员函数 继承自 elc::defs::memory::ptr_n::ref_t
constexpr ref_t () noexcept=default
 
constexpr ref_t (never_ref_num_zero_t) noexcept
 
constexpr void add_ref () const noexcept
 
constexpr void init_never_ref_num_zero () noexcept
 
link_num_t link_num () const noexcept
 

额外继承的成员函数

- Protected 成员函数 继承自 elc::defs::memory::ptr_n::ref_t
constexpr bool cut_ref () const noexcept
 
- Protected 成员函数 继承自 elc::defs::base::attribute< T, weak_ref_able< T > >
constexpr T * get_handle () noexcept
 
constexpr const T * get_handle () const noexcept
 

详细描述

template<typename T>
struct elc::defs::memory::ptr_n::weak_ref_able< T >

在文件 all_defs.cpp22783 行定义.

成员函数说明

◆ cut_ref()

template<typename T >
void elc::defs::memory::ptr_n::weak_ref_able< T >::cut_ref ( ) const
inlinenoexcept

在文件 all_defs.cpp22787 行定义.

22787 {
22788 if constexpr(!was_ref_able<T>)
22789 template_error("base on ref_able before base on weak_ref_able,please.");
22791 if(base_t::cut_ref())
22792 if(get_ref_num(this_T)==0)
22794 }
#define template_error(reason)
Definition all_defs.cpp:559
constexpr bool cut_ref() const noexcept
constexpr T down_cast(U a) noexcept
向下转型至
constexpr T & remove_const(const T &a) noexcept
对引用移除const
void destroy_and_free(T *a) noexcept
link_num_t get_ref_num(const T *a) noexcept
friend U * get_handle(attribute< U, another_attribute_name > *) noexcept
函数调用图:

该结构体的文档由以下文件生成: