in include/unifex/any_unique.hpp [193:209]
friend Ret tag_invoke(base_cpo_t<CPO> cpo, replace_this_t<Args, Derived>... args)
noexcept(NoExcept) {
using cpo_t = base_cpo_t<CPO>;
static_assert(
!NoExcept || noexcept(extract_this<Args...>{}((decltype(args) &&) args...)));
auto&& t = extract_this<Args...>{}((decltype(args) &&) args...);
static_assert(!NoExcept || noexcept(get_object_address(t)));
void* objPtr = get_object_address(t);
static_assert(!NoExcept || noexcept(get_vtable(t)->template get<CPO>()));
auto* fnPtr = get_vtable(t)->template get<CPO>();
static_assert(!NoExcept || noexcept(fnPtr(
(cpo_t&&) cpo,
replace_this<Args>::get((decltype(args) &&) args, objPtr)...)));
return fnPtr(
(cpo_t&&) cpo,
replace_this<Args>::get((decltype(args) &&) args, objPtr)...);
}