10 #include <type_traits>
20 using shared_dll = std::shared_ptr<std::remove_pointer_t<HMODULE>>;
Standalone NVENC encoder.
Definition nvenc_base.cpp:185
std::shared_ptr< std::remove_pointer_t< HMODULE > > shared_dll
Shared ownership wrapper for a loaded Windows module.
Definition nvenc_shared_dll.h:20
shared_dll make_shared_dll(HMODULE dll)
Wrap a Windows module handle in shared ownership.
Definition nvenc_shared_dll.h:44
Release a Windows module when its final shared owner is destroyed.
Definition nvenc_shared_dll.h:25
void operator()(HMODULE dll) const
Release the module.
Definition nvenc_shared_dll.h:31