Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
_
a
d
e
f
l
m
o
p
s
t
u
v
Related Functions
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Package Documentation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
CUDADataFormats
Common
interface
HostProduct.h
Go to the documentation of this file.
1
#ifndef CUDADataFormatsCommonHostProduct_H
2
#define CUDADataFormatsCommonHostProduct_H
3
4
#include "
HeterogeneousCore/CUDAUtilities/interface/host_unique_ptr.h
"
5
6
// a heterogeneous unique pointer...
7
template
<
typename
T>
8
class
HostProduct
{
9
public
:
10
HostProduct
() =
default
;
// make root happy
11
~HostProduct
() =
default
;
12
HostProduct
(
HostProduct
&&) =
default
;
13
HostProduct
&
operator=
(
HostProduct
&&) =
default
;
14
15
explicit
HostProduct
(
cms::cuda::host::unique_ptr<T>
&&
p
) :
hm_ptr
(
std
::
move
(
p
)) {}
16
explicit
HostProduct
(std::unique_ptr<T>&&
p
) :
std_ptr
(
std
::
move
(
p
)) {}
17
18
auto
const
*
get
()
const
{
return
hm_ptr
?
hm_ptr
.get() :
std_ptr
.get(); }
19
20
auto
const
&
operator*
()
const
{
return
*
get
(); }
21
22
auto
const
*
operator->
()
const
{
return
get
(); }
23
24
private
:
25
cms::cuda::host::unique_ptr<T>
hm_ptr
;
26
std::unique_ptr<T>
std_ptr
;
27
};
28
29
#endif
HostProduct::HostProduct
HostProduct()=default
HostProduct::operator*
auto const & operator*() const
Definition:
HostProduct.h:20
HostProduct::hm_ptr
cms::cuda::host::unique_ptr< T > hm_ptr
Definition:
HostProduct.h:25
host_unique_ptr.h
HostProduct::operator=
HostProduct & operator=(HostProduct &&)=default
HostProduct::operator->
auto const * operator->() const
Definition:
HostProduct.h:22
HostProduct
Definition:
HostProduct.h:8
AlCaHLTBitMon_ParallelJobs.p
def p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
HostProduct::std_ptr
std::unique_ptr< T > std_ptr
Definition:
HostProduct.h:26
eostools.move
def move(src, dest)
Definition:
eostools.py:511
std
Definition:
JetResolutionObject.h:76
HostProduct::HostProduct
HostProduct(cms::cuda::host::unique_ptr< T > &&p)
Definition:
HostProduct.h:15
cms::cuda::host::unique_ptr
std::unique_ptr< T, impl::HostDeleter > unique_ptr
Definition:
host_unique_ptr.h:21
HostProduct::~HostProduct
~HostProduct()=default
HostProduct::HostProduct
HostProduct(std::unique_ptr< T > &&p)
Definition:
HostProduct.h:16
HostProduct::get
auto const * get() const
Definition:
HostProduct.h:18
Generated for CMSSW Reference Manual by
1.8.16