toCustomClass Class — pytorch Architecture
Architecture documentation for the toCustomClass class in ivalue_inl.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/core/ivalue_inl.h lines 1794–1810
template <typename T>
c10::intrusive_ptr<T> IValue::toCustomClass() && {
static_assert(
std::is_base_of_v<torch::CustomClassHolder, T> == true,
"toCustomClass requires that template parameter T must inherit "
"from torch::CustomClassHolder");
auto obj = toObject();
TORCH_CHECK(
obj->slots().size() == 1,
"Tried to cast IValue to custom class but it did "
"not contain a custom class!");
const auto* expected_type = c10::getCustomClassType<c10::intrusive_ptr<T>>().get();
ivalue::checkCustomClassType(expected_type, type().get());
auto userObj =
c10::static_intrusive_pointer_cast<T>(obj->getSlot(0).toCapsule());
return userObj;
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free