ELC in dev
ELC-lang
载入中...
搜索中...
未找到
elc::defs::memory::lifetime_n::re_construct_t结构体 参考

struct  array_re_construct_t
 
struct  placement_re_construct_t
 

Public 成员函数

template<class T >
requires able<T>
T * operator() (T *to) const noexcept(nothrow< T >)
 
template<class T >
constexpr placement_re_construct_t< T > operator[] (T *p) const noexcept
 

静态 Public 属性

template<class T , class... Args>
static constexpr bool able =destruct.able<T>&&construct<T>.able<Args...>
 
template<class T , class... Args>
static constexpr bool nothrow =destruct.nothrow<T>&&construct<T>.nothrow<Args...>
 
template<class T , class... Args>
static constexpr bool trivial =destruct.trivial<T>&&construct<T>.trivial<Args...>
 

详细描述

用于重新构造实例:先摧毁,再原地构建 用法: re_construct.able<类型> -> bool re_construct.nothrow<类型> -> bool

re_construct(T*ptr) -> T* (以无参数在ptr地址处重新构建T类型实例,返回ptr) re_construct[T*ptr](参数) -> T* (以参数在ptr地址处重新构建T类型实例,返回ptr) re_construct[T*ptr][size_t size](参数) -> T* (以参数在ptr地址处重新构建size个T类型实例,返回ptr) 常见用法: re_construct(this)

在文件 all_defs.cpp9727 行定义.

成员函数说明

◆ operator()()

template<class T >
requires able<T>
T * elc::defs::memory::lifetime_n::re_construct_t::operator() ( T *  to) const
inlinenoexcept

在文件 all_defs.cpp9736 行定义.

9736 {
9737 destruct(to);
9738 construct<T>[to]();
9739 return to;
9740 }
constexpr to_t< T > to(T v)
constexpr T down_cast(U a) noexcept
向下转型至
constexpr struct elc::defs::memory::lifetime_n::destruct_t destruct

◆ operator[]()

template<class T >
constexpr placement_re_construct_t< T > elc::defs::memory::lifetime_n::re_construct_t::operator[] ( T *  p) const
inlineconstexprnoexcept

在文件 all_defs.cpp9766 行定义.

9766{return{p};}

类成员变量说明

◆ able

template<class T , class... Args>
constexpr bool elc::defs::memory::lifetime_n::re_construct_t::able =destruct.able<T>&&construct<T>.able<Args...>
staticconstexpr

在文件 all_defs.cpp9729 行定义.

◆ nothrow

template<class T , class... Args>
constexpr bool elc::defs::memory::lifetime_n::re_construct_t::nothrow =destruct.nothrow<T>&&construct<T>.nothrow<Args...>
staticconstexpr

在文件 all_defs.cpp9731 行定义.

◆ trivial

template<class T , class... Args>
constexpr bool elc::defs::memory::lifetime_n::re_construct_t::trivial =destruct.trivial<T>&&construct<T>.trivial<Args...>
staticconstexpr

在文件 all_defs.cpp9733 行定义.


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