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

Public 成员函数

template<class... Args>
requires able<Args...>
void base_call (Args &&...rest) const noexcept(nothrow< Args... >)
 
template<class... Args>
requires able<Args...>
T * operator() (Args &&...rest) const noexcept(nothrow< Args... >)
 
T * operator() (const T &v) const noexcept(nothrow< const T & >)
 
T * operator() () const noexcept(nothrow<>)
 
constexpr array_construct_t operator[] (size_t size) const noexcept
 

Public 属性

T * _to
 

详细描述

template<typename T>
struct elc::defs::memory::lifetime_n::construct_t< T >::placement_construct_t

在文件 all_defs.cpp9616 行定义.

成员函数说明

◆ base_call()

template<typename T >
template<class... Args>
requires able<Args...>
void elc::defs::memory::lifetime_n::construct_t< T >::placement_construct_t::base_call ( Args &&...  rest) const
inlinenoexcept

在文件 all_defs.cpp9619 行定义.

9619 {
9620 new(_to)T(forward<Args>(rest)...);
9621 }
constexpr T down_cast(U a) noexcept
向下转型至

◆ operator()() [1/3]

template<typename T >
T * elc::defs::memory::lifetime_n::construct_t< T >::placement_construct_t::operator() ( ) const
inlinenoexcept

在文件 all_defs.cpp9636 行定义.

9636 {
9637 if constexpr(!trivial<>)
9638 base_call();
9639 return _to;
9640 }
void base_call(Args &&...rest) const noexcept(nothrow< Args... >)

◆ operator()() [2/3]

template<typename T >
template<class... Args>
requires able<Args...>
T * elc::defs::memory::lifetime_n::construct_t< T >::placement_construct_t::operator() ( Args &&...  rest) const
inlinenoexcept

在文件 all_defs.cpp9623 行定义.

9623 {
9625 return _to;
9626 }

◆ operator()() [3/3]

template<typename T >
T * elc::defs::memory::lifetime_n::construct_t< T >::placement_construct_t::operator() ( const T &  v) const
inlinenoexcept

在文件 all_defs.cpp9628 行定义.

9628 {
9629 if constexpr(trivial<const T&> && ::std::is_trivially_copyable_v<T>)
9631 else
9633 return _to;
9634 }
requires ::std::is_trivially_copyable_v< T > T * super_speed_trivial_copy_from_one(T *to, const T &value, size_t size) noexcept
函数调用图:

◆ operator[]()

template<typename T >
constexpr array_construct_t elc::defs::memory::lifetime_n::construct_t< T >::placement_construct_t::operator[] ( size_t  size) const
inlineconstexprnoexcept

在文件 all_defs.cpp9641 行定义.

9641{return{_to,size};}
constexpr size_t size(::size_t v)

类成员变量说明

◆ _to

template<typename T >
T* elc::defs::memory::lifetime_n::construct_t< T >::placement_construct_t::_to

在文件 all_defs.cpp9617 行定义.


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