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

Public 成员函数

constexpr void never_in_array_check () const noexcept
 
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<>)
 

Public 属性

T * _to
 
size_t _size
 

详细描述

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

在文件 all_defs.cpp9581 行定义.

成员函数说明

◆ base_call()

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

在文件 all_defs.cpp9589 行定义.

◆ never_in_array_check()

template<typename T >
constexpr void elc::defs::memory::lifetime_n::construct_t< T >::array_construct_t::never_in_array_check ( ) const
inlineconstexprnoexcept

在文件 all_defs.cpp9584 行定义.

9584 {
9585 if constexpr(type_info<T>.has_attribute(never_in_array))
9586 template_error("You can\'t construct an array for never_in_array type.");
9587 }
#define template_error(reason)
Definition all_defs.cpp:559

◆ operator()() [1/3]

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

在文件 all_defs.cpp9609 行定义.

9609 {
9611 if constexpr(!trivial<>)
9612 base_call();
9613 return _to;
9614 }
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 >::array_construct_t::operator() ( Args &&...  rest) const
inlinenoexcept

在文件 all_defs.cpp9594 行定义.

9594 {
9597 return _to;
9598 }

◆ operator()() [3/3]

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

在文件 all_defs.cpp9600 行定义.

9600 {
9602 if constexpr(trivial<const T&> && ::std::is_trivially_copyable_v<T>)
9604 else
9606 return _to;
9607 }
requires ::std::is_trivially_copyable_v< T > T * super_speed_trivial_copy_from_one(T *to, const T &value, size_t size) noexcept
函数调用图:

类成员变量说明

◆ _size

template<typename T >
size_t elc::defs::memory::lifetime_n::construct_t< T >::array_construct_t::_size

在文件 all_defs.cpp9583 行定义.

◆ _to

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

在文件 all_defs.cpp9582 行定义.


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