ELC in dev
ELC-lang
载入中...
搜索中...
未找到
elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)> 模板类 参考
类 elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)> 继承关系图:
[图例]

Public 成员函数

 function_data_saver_t () noexcept=default
 
 function_data_saver_t (const this_t &a) noexcept
 
 function_data_saver_t (this_t &&a) noexcept
 
bool operator== (const this_t &a) const
 
template<typename T >
requires (equal.able<base_t_w,T>)
bool operator== (T &&a) const noexcept(equal.nothrow< base_t_w, T >)
 
template<typename T >
bool was_an () const noexcept
 
template<typename T >
maybe_fail_reference< T > get_as () noexcept
 
void operator= (const this_t &a)
 
Ret_t call (Args_t &&...rest) const
 

Protected 类型

typedef function_data_saver_t< Ret_t(Args_t...)> this_t
 
typedef base_func_data_t< Ret_t(Args_t...)> base_t_w
 
typedef comn_ptr_t< base_t_wptr_t
 

Protected 成员函数

void swap_with (this_t &a) noexcept
 

Protected 属性

ptr_t _m
 

详细描述

template<class Ret_t, class... Args_t>
class elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>

在文件 all_defs.cpp24234 行定义.

成员类型定义说明

◆ base_t_w

template<class Ret_t , class... Args_t>
typedef base_func_data_t<Ret_t(Args_t...)> elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>::base_t_w
protected

在文件 all_defs.cpp24237 行定义.

◆ ptr_t

template<class Ret_t , class... Args_t>
typedef comn_ptr_t<base_t_w> elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>::ptr_t
protected

在文件 all_defs.cpp24238 行定义.

◆ this_t

template<class Ret_t , class... Args_t>
typedef function_data_saver_t<Ret_t(Args_t...)> elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>::this_t
protected

在文件 all_defs.cpp24236 行定义.

构造及析构函数说明

◆ function_data_saver_t() [1/3]

template<class Ret_t , class... Args_t>
elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>::function_data_saver_t ( )
defaultnoexcept

◆ function_data_saver_t() [2/3]

template<class Ret_t , class... Args_t>
elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>::function_data_saver_t ( const this_t a)
inlinenoexcept

在文件 all_defs.cpp24244 行定义.

24244:_m(a._m){}
constexpr T down_cast(U a) noexcept
向下转型至

◆ function_data_saver_t() [3/3]

template<class Ret_t , class... Args_t>
elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>::function_data_saver_t ( this_t &&  a)
inlinenoexcept

成员函数说明

◆ call()

template<class Ret_t , class... Args_t>
Ret_t elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>::call ( Args_t &&...  rest) const
inline

在文件 all_defs.cpp24277 行定义.

24277{return _m->call(forward<Args_t>(rest)...);}

◆ get_as()

template<class Ret_t , class... Args_t>
template<typename T >
maybe_fail_reference< T > elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>::get_as ( )
inlinenoexcept

在文件 all_defs.cpp24265 行定义.

24265 {
24266 try{
24267 _m->throw_self_ptr();
24268 }
24269 catch(T*p){
24270 return *p;
24271 }
24272 catch(void*){}
24273 return note::fail;
24274 }
constexpr struct elc::defs::base::note_n::fail_t fail

◆ operator=()

template<class Ret_t , class... Args_t>
void elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>::operator= ( const this_t a)
inline

在文件 all_defs.cpp24276 行定义.

24276{_m=a._m;}

◆ operator==() [1/2]

template<class Ret_t , class... Args_t>
bool elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>::operator== ( const this_t a) const
inline

在文件 all_defs.cpp24246 行定义.

24246 {
24247 return *_m==*(a._m);
24248 }

◆ operator==() [2/2]

template<class Ret_t , class... Args_t>
template<typename T >
requires (equal.able<base_t_w,T>)
bool elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>::operator== ( T &&  a) const
inlinenoexcept

在文件 all_defs.cpp24250 行定义.

24250 {
24251 return *_m==a;
24252 }

◆ swap_with()

template<class Ret_t , class... Args_t>
void elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>::swap_with ( this_t a)
inlineprotectednoexcept

在文件 all_defs.cpp24241 行定义.

24241{swap(_m,a._m);}
void swap(base_function_t< T, promise_nothrow_at_destruct > &a, base_function_t< T, promise_nothrow_at_destruct > &b) noexcept
函数调用图:

◆ was_an()

template<class Ret_t , class... Args_t>
template<typename T >
bool elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>::was_an ( ) const
inlinenoexcept

在文件 all_defs.cpp24254 行定义.

24254 {
24255 try{
24256 _m->throw_self_ptr();
24257 }
24258 catch(const T*p){
24259 return true;
24260 }
24261 catch(const void*){}
24262 return false;
24263 }

类成员变量说明

◆ _m

template<class Ret_t , class... Args_t>
ptr_t elc::defs::container::function_n::function_data_saver_t< Ret_t(Args_t...)>::_m
mutableprotected

在文件 all_defs.cpp24240 行定义.


该类的文档由以下文件生成: