|
template<class T >
requires able<T> |
T * | operator() (T *to, const T *from) const noexcept(nothrow< T >) |
|
template<class T >
requires able<T> |
T * | operator() (note::to_t< T * >to, note::from_t< const T * >from) const noexcept(nothrow< T >) |
|
template<class T >
requires able<T> |
T * | operator() (note::from_t< const T * >from, note::to_t< T * >to) const noexcept(nothrow< T >) |
|
template<class T >
requires able<T> |
T * | operator() (T *to, const T *from, size_t size) const noexcept(nothrow< T >) |
|
template<class T >
requires able<T> |
T * | operator() (note::to_t< T * >to, note::from_t< const T * >from, size_t size) const noexcept(nothrow< T >) |
|
template<class T >
requires able<T> |
T * | operator() (note::from_t< const T * >from, note::to_t< T * >to, size_t size) const noexcept(nothrow< T >) |
|
template<class T >
requires able<T> |
T * | operator() (T *to, const T &from) const noexcept(nothrow< T >) |
|
constexpr array_copy_construct_t | operator[] (size_t a) const noexcept |
|
◆ base_call() [1/4]
static T * elc::defs::memory::lifetime_n::copy_construct_t::base_call |
( |
T * |
to, |
|
|
const T & |
from |
|
) |
| |
|
inlinestaticnoexcept |
在文件 all_defs.cpp 第 9835 行定义.
9835 {
9838 else{
9841 }
9843 }
constexpr to_t< T > to(T v)
constexpr from_t< T > from(T v)
constexpr T down_cast(U a) noexcept
向下转型至
◆ base_call() [2/4]
static T * elc::defs::memory::lifetime_n::copy_construct_t::base_call |
( |
T * |
to, |
|
|
const T & |
from, |
|
|
size_t |
size |
|
) |
| |
|
inlinestaticnoexcept |
在文件 all_defs.cpp 第 9846 行定义.
9846 {
9847 if constexpr(
type_info<T>.has_attribute(never_in_array))
9848 template_error(
"You cannot perform array operations on never_in_array type.");
9849 if constexpr(::std::is_trivially_copyable_v<T>)
9851 else
9852 while(size--)
9855 }
#define template_error(reason)
requires ::std::is_trivially_copyable_v< T > T * super_speed_trivial_copy_from_one(T *to, const T &value, size_t size) noexcept
static T * base_call(T *to, const T *from) noexcept(nothrow< T >)
◆ base_call() [3/4]
static T * elc::defs::memory::lifetime_n::copy_construct_t::base_call |
( |
T * |
to, |
|
|
const T * |
from |
|
) |
| |
|
inlinestaticnoexcept |
在文件 all_defs.cpp 第 9784 行定义.
9784 {
9786 return reinterpret_cast<T*
>(::std::memcpy(to,
add_const(from),
sizeof(T)));
9787 else{
9789 new(to)T(*from);
9790 else{
9793 }
9795 }
9796 }
constexpr const T add_const(T a) noexcept
对值追加const
◆ base_call() [4/4]
static T * elc::defs::memory::lifetime_n::copy_construct_t::base_call |
( |
T * |
to, |
|
|
const T * |
from, |
|
|
size_t |
size |
|
) |
| |
|
inlinestaticnoexcept |
在文件 all_defs.cpp 第 9799 行定义.
9799 {
9801 return reinterpret_cast<T*
>(::std::memcpy(to,
add_const(from),
sizeof(T)*size));
9802 else{
9803 while(size--)
9806 }
9807 }
◆ operator()() [1/7]
◆ operator()() [2/7]
T * elc::defs::memory::lifetime_n::copy_construct_t::operator() |
( |
note::from_t< const T * > |
from, |
|
|
note::to_t< T * > |
to, |
|
|
size_t |
size |
|
) |
| const |
|
inlinenoexcept |
◆ operator()() [3/7]
◆ operator()() [4/7]
T * elc::defs::memory::lifetime_n::copy_construct_t::operator() |
( |
note::to_t< T * > |
to, |
|
|
note::from_t< const T * > |
from, |
|
|
size_t |
size |
|
) |
| const |
|
inlinenoexcept |
◆ operator()() [5/7]
T * elc::defs::memory::lifetime_n::copy_construct_t::operator() |
( |
T * |
to, |
|
|
const T & |
from |
|
) |
| const |
|
inlinenoexcept |
◆ operator()() [6/7]
T * elc::defs::memory::lifetime_n::copy_construct_t::operator() |
( |
T * |
to, |
|
|
const T * |
from |
|
) |
| const |
|
inlinenoexcept |
◆ operator()() [7/7]
T * elc::defs::memory::lifetime_n::copy_construct_t::operator() |
( |
T * |
to, |
|
|
const T * |
from, |
|
|
size_t |
size |
|
) |
| const |
|
inlinenoexcept |
◆ operator[]()
◆ able
◆ nothrow
constexpr bool elc::defs::memory::lifetime_n::copy_construct_t::nothrow |
|
staticconstexpr |
◆ r_able
constexpr bool elc::defs::memory::lifetime_n::copy_construct_t::r_able |
|
staticconstexpr |
◆ trivial
constexpr bool elc::defs::memory::lifetime_n::copy_construct_t::trivial |
|
staticconstexpr |
该结构体的文档由以下文件生成: