Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
FWCore
Utilities
interface
do_nothing_deleter.h
Go to the documentation of this file.
1
#ifndef FWCore_Utilities_do_nothing_deleter_h
2
#define FWCore_Utilities_do_nothing_deleter_h
3
4
// ----------------------------------------------------------------------
5
//
6
// do_nothing_deleter.h
7
//
8
// Purpose: do_nothing_deleter provides a way to use std::shared_ptr
9
// or boost::shared_array for those cases where the object or array
10
// may be either in dynamic (heap) storage, or in static storage,
11
// as long as which of these applies is known when the shared_ptr or shared_array
12
// is constructed.
13
//
14
// For objects:
15
//
16
// If the object is allocated in dynamic storage, use
17
// std::shared_ptr<T> (new T(...));
18
19
// If the object "t" is in static storage, use
20
// std::shared_ptr<T> (&t, do_nothing_deleter());
21
//
22
// For arrays:
23
//
24
// If the array is allocated in dynamic storage, use
25
// boost::shared_array<T> (new T(...)[]);
26
27
// If the array "t" is in static storage, use
28
// boost::shared_array<T> (t, do_nothing_deleter());
29
//
30
//
31
// ----------------------------------------------------------------------
32
33
namespace
edm {
34
struct
do_nothing_deleter
{
35
void
operator()
(
void
const
*)
const
{}
36
};
37
}
38
39
#endif
edm::do_nothing_deleter
Definition:
do_nothing_deleter.h:34
edm::do_nothing_deleter::operator()
void operator()(void const *) const
Definition:
do_nothing_deleter.h:35
Generated for CMSSW Reference Manual by
1.8.5