Ret _invoke()

in include/unifex/any_unique.hpp [37:50]


Ret _invoke(
    base_cpo_t<CPO> cpo,
    replace_this_with_void_ptr_t<Args>... args) noexcept(NoExcept) {
  static_assert(!NoExcept || noexcept(extract_this<Args...>{}(args...)));
  void* thisPointer = extract_this<Args...>{}(args...);
  static_assert(!NoExcept || noexcept(Ret(((base_cpo_t<CPO>&&) cpo)(
      replace_this<Args>::get(
          (decltype(args)&&) args,
          *static_cast<T*>(thisPointer))...))));
  return ((base_cpo_t<CPO>&&) cpo)(
      replace_this<Args>::get(
          (decltype(args)&&) args,
          *static_cast<T*>(thisPointer))...);
}