◆ operator()() [1/2]
void elc::defs::memory::get_n::unget_t::operator() |
( |
T * |
a | ) |
const |
|
inlinenoexcept |
在文件 all_defs.cpp 第 21773 行定义.
21773 {
21774 const APIs::alloc::source_location_guard
slg;
21776 if constexpr(::std::is_polymorphic_v<T> && !::std::is_final_v<T>)
21778 #if defined(_MSC_VER)
21779 [[gsl::suppress(
f.6)]]
21780 #endif
21782 return;
21783 }
21785 template_warning(
"T is polymorphic, but there is no elc::abstract_base attribute to provide information to elc's memory system, which could lead to incorrect unget handling.");
21787 template_warning(
"the destructer of T was not noexcept,this may cause memory lack.");
21788 if constexpr(
type_info<T>.has_attribute(never_in_array))
21790 else
21793 }
21794 }
#define has_attribute(...)
#define template_warning(reason)
constexpr T down_cast(U a) noexcept
向下转型至
constexpr struct elc::defs::memory::alloc_n::get_size_of_alloc_t get_size_of_alloc
constexpr struct elc::defs::memory::alloc_n::free_t free
constexpr struct elc::defs::memory::lifetime_n::destruct_t destruct
static constexpr bool nothrow
◆ operator()() [2/2]
void elc::defs::memory::get_n::unget_t::operator() |
( |
T * |
a, |
|
|
decltype(destruct)::not_t |
|
|
) |
| const |
|
inlinenoexcept |
◆ able
constexpr bool elc::defs::memory::get_n::unget_t::able =destruct.able<T> |
|
staticconstexpr |
◆ nothrow
constexpr bool elc::defs::memory::get_n::unget_t::nothrow =destruct.nothrow<T> |
|
staticconstexpr |
该结构体的文档由以下文件生成: