Main Page
Namespaces
Classes
Package Documentation
FWCore
ServiceRegistry
interface
Service.h
Go to the documentation of this file.
1
#ifndef ServiceRegistry_Service_h
2
#define ServiceRegistry_Service_h
3
// -*- C++ -*-
4
//
5
// Package: ServiceRegistry
6
// Class : Service
7
//
16
//
17
// Original Author: Chris Jones
18
// Created: Wed Sep 7 15:17:17 EDT 2005
19
//
20
21
// system include files
22
23
// user include files
24
#include "
FWCore/ServiceRegistry/interface/ServiceRegistry.h
"
25
26
// forward declarations
27
28
namespace
edm
{
29
template
<
class
T>
30
class
Service
31
{
32
33
public
:
34
Service
() {}
35
//virtual ~Service();
36
37
// ---------- const member functions ---------------------
38
T
*
operator->
()
const
{
39
return
&(
ServiceRegistry::instance
().template get<T>());
40
}
41
42
T
&
operator*
()
const
{
43
return
ServiceRegistry::instance
().template get<T>();
44
}
45
46
bool
isAvailable
()
const
{
47
return
ServiceRegistry::instance
().template isAvailable<T>();
48
}
49
50
operator
bool()
const
{
51
return
isAvailable
();
52
}
53
54
// ---------- static member functions --------------------
55
56
// ---------- member functions ---------------------------
57
58
private
:
59
};
60
61
}
62
63
#endif
edm::Service::operator*
T & operator*() const
Definition:
Service.h:42
edm::Service
Definition:
Service.h:30
ServiceRegistry.h
edm::Service::isAvailable
bool isAvailable() const
Definition:
Service.h:46
edm::ServiceRegistry::instance
static ServiceRegistry & instance()
Definition:
ServiceRegistry.cc:107
edm::Service::Service
Service()
Definition:
Service.h:34
edm
HLT enums.
Definition:
AlignableModifier.h:17
T
long double T
Definition:
Basic3DVectorLD.h:57
edm::Service::operator->
T * operator->() const
Definition:
Service.h:38
Generated for CMSSW Reference Manual by
1.8.11