| 函数
owning_wrapper.hpp 文件参考
#include <rmm/detail/export.hpp>
#include <rmm/mr/device/device_memory_resource.hpp>
#include <memory>
#include <utility>
owning_wrapper.hpp 的包含依赖关系图

转到此文件的源代码。

class  rmm::mr::owning_wrapper< Resource, Upstreams >
 维护上游资源生命周期的资源适配器。更多...
 

函数

template<typename Resource , typename UpstreamTuple , std::size_t... Indices, typename... Args>
auto rmm::mr::detail::make_resource_impl (UpstreamTuple const &upstreams, std::index_sequence< Indices... >, Args &&... args)
 将元组转换为参数包。更多...
 
template<typename Resource , typename... Upstreams, typename... Args>
auto rmm::mr::detail::make_resource (std::tuple< std::shared_ptr< Upstreams >... > const &upstreams, Args &&... args)
 使用给定的上游资源和参数创建一个指向 Resource 类型的 std::unique_ptr更多...
 
template<template< typename... > class Resource, typename... Upstreams, typename... Args>
auto rmm::mr::make_owning_wrapper (std::tuple< std::shared_ptr< Upstreams >... > upstreams, Args &&... args)
 构造一个 Resource 类型的资源,并将其包装在 owning_wrapper 中,使用 upstreams 作为上游资源,args 作为 Resource 构造函数的附加参数。更多...
 
template<template< typename > class Resource, typename Upstream , typename... Args>
auto rmm::mr::make_owning_wrapper (std::shared_ptr< Upstream > upstream, Args &&... args)
 Resource 只有一个上游资源时,为 owning_wrapper 提供的额外便捷工厂函数。更多...
 

函数文档

◆ make_resource()

template<typename Resource , typename... Upstreams, typename... Args>
auto rmm::mr::detail::make_resource ( std::tuple< std::shared_ptr< Upstreams >... > const &  upstreams,
Args &&...  args 
)

使用给定的上游资源和参数创建一个指向 Resource 类型的 std::unique_ptr

模板参数
Resource要创建的资源类型
Upstreams上游资源的类型
Args资源构造函数的参数类型
参数
upstreams指向被包装资源使用的上游资源的 std::shared_ptr 元组,顺序与 Resource 构造函数预期的顺序相同。
args函数参数包,将转发给被包装资源的构造函数
返回
std::unique_ptr<Resource> 指向创建的资源的 unique pointer

◆ make_resource_impl()

template<typename Resource , typename UpstreamTuple , std::size_t... Indices, typename... Args>
auto rmm::mr::detail::make_resource_impl ( UpstreamTuple const &  upstreams,
std::index_sequence< Indices... >  ,
Args &&...  args 
)

将元组转换为参数包。

这是 make_resource 的辅助函数,允许将上游资源作为参数列表传递给 Resource 的构造函数。

模板参数
Resource要创建的资源类型
UpstreamTuple包含上游资源类型的 shared pointer 的元组
Args资源构造函数的参数类型
参数
upstreams指向被包装资源使用的上游资源的 std::shared_ptr 元组,顺序与 Resource 构造函数预期的顺序相同。
args函数参数包,将转发给 Resource 的构造函数
返回
std::unique_ptr<Resource> 指向创建的资源的 unique pointer。