LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
WrappedTypeID.h
Go to the documentation of this file.
1
#ifndef canvas_Persistency_Common_WrappedTypeID_h
2
#define canvas_Persistency_Common_WrappedTypeID_h
3
// vim: set sw=2:
4
//
5
// WrappedTypeID: A unique identifier for a C++ type.
6
//
7
// The identifier is unique within an entire program, but cannot be
8
// persisted across invocations of the program.
9
10
#include "
canvas/Persistency/Common/Wrapper.h
"
11
#include "
canvas/Persistency/Common/fwd.h
"
12
#include "
canvas/Utilities/TypeID.h
"
13
14
struct
art::WrappedTypeID
{
15
template
<
typename
T>
16
static
WrappedTypeID
make
();
17
TypeID
product_type
;
18
TypeID
wrapped_product_type
;
19
20
private
:
21
WrappedTypeID
(std::type_info
const
& product_type,
22
std::type_info
const
& wrapped_product_type);
23
};
24
25
inline
art::WrappedTypeID::WrappedTypeID
(
26
std::type_info
const
& prod_type,
27
std::type_info
const
& wrapped_prod_type)
28
:
product_type
{prod_type},
wrapped_product_type
{wrapped_prod_type}
29
{}
30
31
template
<
typename
T>
32
art::WrappedTypeID
33
art::WrappedTypeID::make
()
34
{
35
return
WrappedTypeID
{
typeid
(T),
typeid
(
Wrapper<T>
)};
36
}
37
38
// Local Variables:
39
// mode: c++
40
// End:
41
#endif
/* canvas_Persistency_Common_WrappedTypeID_h */
fwd.h
Wrapper.h
art::WrappedTypeID::product_type
TypeID product_type
Definition:
WrappedTypeID.h:17
art::WrappedTypeID::make
static WrappedTypeID make()
art::WrappedTypeID::wrapped_product_type
TypeID wrapped_product_type
Definition:
WrappedTypeID.h:18
art::WrappedTypeID
Definition:
WrappedTypeID.h:14
TypeID.h
art::Wrapper
Definition:
Handle.h:66
art::WrappedTypeID::WrappedTypeID
WrappedTypeID(std::type_info const &product_type, std::type_info const &wrapped_product_type)
Definition:
WrappedTypeID.h:25
art::TypeID
Definition:
TypeID.h:20
canvas
Persistency
Common
WrappedTypeID.h
Generated on Thu May 2 2024 20:59:31 for LArSoft by
1.8.11