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

Public 成员函数

 same_ref_p_t (T *a) noexcept
 
 same_ref_p_t (const same_ptr_p_t< T > &a) noexcept
 
void swap_with (same_ref_p_t &a) noexcept
 
- Public 成员函数 继承自 elc::defs::memory::ptr_n::same_ptr_p_t< T >
 same_ptr_p_t (const same_ptr_p_t &) noexcept=default
 
T * get () const noexcept
 

静态 Public 属性

static constexpr bool cut_nothrow =noexcept((::std::declval< ref_type >()).cut_ref())
 

Protected 成员函数

void cut_ref () const noexcept(noexcept((cut_ref(nullptr))))
 
void add_ref () const noexcept
 
- Protected 成员函数 继承自 elc::defs::memory::ptr_n::same_ptr_p_t< T >
 same_ptr_p_t (T *a) noexcept
 

静态 Protected 成员函数

static void cut_ref (T *a) noexcept(cut_nothrow)
 
static void add_ref (T *a) noexcept
 

额外继承的成员函数

- Protected 属性 继承自 elc::defs::memory::ptr_n::same_ptr_p_t< T >
T * _to
 

详细描述

template<class T, typename ref_type>
struct elc::defs::memory::ptr_n::same_ref_p_t< T, ref_type >

在文件 all_defs.cpp22877 行定义.

构造及析构函数说明

◆ same_ref_p_t() [1/2]

template<class T , typename ref_type >
elc::defs::memory::ptr_n::same_ref_p_t< T, ref_type >::same_ref_p_t ( T *  a)
inlineexplicitnoexcept

在文件 all_defs.cpp22879 行定义.

constexpr T down_cast(U a) noexcept
向下转型至

◆ same_ref_p_t() [2/2]

template<class T , typename ref_type >
elc::defs::memory::ptr_n::same_ref_p_t< T, ref_type >::same_ref_p_t ( const same_ptr_p_t< T > &  a)
inlineexplicitnoexcept

在文件 all_defs.cpp22880 行定义.

成员函数说明

◆ add_ref() [1/2]

template<class T , typename ref_type >
void elc::defs::memory::ptr_n::same_ref_p_t< T, ref_type >::add_ref ( ) const
inlineprotectednoexcept

在文件 all_defs.cpp22890 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ add_ref() [2/2]

template<class T , typename ref_type >
static void elc::defs::memory::ptr_n::same_ref_p_t< T, ref_type >::add_ref ( T *  a)
inlinestaticprotectednoexcept

在文件 all_defs.cpp22887 行定义.

22887{attribute_ptr_cast<ref_type>(a)->add_ref();}

◆ cut_ref() [1/2]

template<class T , typename ref_type >
void elc::defs::memory::ptr_n::same_ref_p_t< T, ref_type >::cut_ref ( ) const
inlineprotectednoexcept

在文件 all_defs.cpp22889 行定义.

22889{cut_ref(_to);}
void cut_ref() const noexcept(noexcept((cut_ref(nullptr))))
函数调用图:
这是这个函数的调用关系图:

◆ cut_ref() [2/2]

template<class T , typename ref_type >
static void elc::defs::memory::ptr_n::same_ref_p_t< T, ref_type >::cut_ref ( T *  a)
inlinestaticprotectednoexcept

在文件 all_defs.cpp22886 行定义.

22886{attribute_ptr_cast<ref_type>(a)->cut_ref();}

◆ swap_with()

template<class T , typename ref_type >
void elc::defs::memory::ptr_n::same_ref_p_t< T, ref_type >::swap_with ( same_ref_p_t< T, ref_type > &  a)
inlinenoexcept

在文件 all_defs.cpp22882 行定义.

22882{swap(_to,a._to);}
void swap(same_ref_p_t< T, ref_type > &a, same_ref_p_t< T, ref_type > &b) noexcept
函数调用图:

类成员变量说明

◆ cut_nothrow

template<class T , typename ref_type >
constexpr bool elc::defs::memory::ptr_n::same_ref_p_t< T, ref_type >::cut_nothrow =noexcept((::std::declval< ref_type >()).cut_ref())
staticconstexpr

在文件 all_defs.cpp22884 行定义.


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