CMS 3D CMS Logo

List of all members | Public Member Functions
edm::serviceregistry::ServiceMaker< T, TMaker > Class Template Reference

#include <ServiceMaker.h>

Inheritance diagram for edm::serviceregistry::ServiceMaker< T, TMaker >:
edm::serviceregistry::ServiceMakerBase

Public Member Functions

bool make (ParameterSet const &iPS, ActivityRegistry &iAR, ServicesManager &oSM) const override
 
ServiceMaker const & operator= (ServiceMaker const &)=delete
 
bool processWideService () const override
 
bool saveConfiguration () const override
 
 ServiceMaker ()
 
 ServiceMaker (ServiceMaker const &)=delete
 
std::type_info const & serviceType () const override
 
- Public Member Functions inherited from edm::serviceregistry::ServiceMakerBase
ServiceMakerBase const & operator= (ServiceMakerBase const &)=delete
 
 ServiceMakerBase ()
 
 ServiceMakerBase (ServiceMakerBase const &)=delete
 
virtual ~ServiceMakerBase ()
 

Additional Inherited Members

- Protected Member Functions inherited from edm::serviceregistry::ServiceMakerBase
bool testSaveConfiguration (SaveConfiguration const *) const
 
bool testSaveConfiguration (void const *) const
 

Detailed Description

template<typename T, typename TMaker = AllArgsMaker<T>>
class edm::serviceregistry::ServiceMaker< T, TMaker >

Definition at line 68 of file ServiceMaker.h.

Constructor & Destructor Documentation

◆ ServiceMaker() [1/2]

template<typename T , typename TMaker = AllArgsMaker<T>>
edm::serviceregistry::ServiceMaker< T, TMaker >::ServiceMaker ( )
inline

Definition at line 70 of file ServiceMaker.h.

70 {}

◆ ServiceMaker() [2/2]

template<typename T , typename TMaker = AllArgsMaker<T>>
edm::serviceregistry::ServiceMaker< T, TMaker >::ServiceMaker ( ServiceMaker< T, TMaker > const &  )
delete

Member Function Documentation

◆ make()

template<typename T , typename TMaker = AllArgsMaker<T>>
bool edm::serviceregistry::ServiceMaker< T, TMaker >::make ( ParameterSet const &  iPS,
ActivityRegistry iAR,
ServicesManager oSM 
) const
inlineoverridevirtual

Implements edm::serviceregistry::ServiceMakerBase.

Definition at line 78 of file ServiceMaker.h.

78  {
79  TMaker maker;
80  std::unique_ptr<T> pService(maker.make(iPS, iAR));
81  auto ptr = std::make_shared<ServiceWrapper<T> >(std::move(pService));
82  return oSM.put(ptr);
83  }

References eostools::move(), and edm::serviceregistry::ServicesManager::put().

◆ operator=()

template<typename T , typename TMaker = AllArgsMaker<T>>
ServiceMaker const& edm::serviceregistry::ServiceMaker< T, TMaker >::operator= ( ServiceMaker< T, TMaker > const &  )
delete

◆ processWideService()

template<typename T , typename TMaker = AllArgsMaker<T>>
bool edm::serviceregistry::ServiceMaker< T, TMaker >::processWideService ( ) const
inlineoverridevirtual

Implements edm::serviceregistry::ServiceMakerBase.

Definition at line 89 of file ServiceMaker.h.

89  {
90  return service::isProcessWideService(static_cast<typename TMaker::concrete_t const*>(nullptr));
91  }

References edm::service::isProcessWideService().

◆ saveConfiguration()

template<typename T , typename TMaker = AllArgsMaker<T>>
bool edm::serviceregistry::ServiceMaker< T, TMaker >::saveConfiguration ( ) const
inlineoverridevirtual

Implements edm::serviceregistry::ServiceMakerBase.

Definition at line 85 of file ServiceMaker.h.

85  {
86  return ServiceMakerBase::testSaveConfiguration(static_cast<typename TMaker::concrete_t const*>(nullptr));
87  }

References edm::serviceregistry::ServiceMakerBase::testSaveConfiguration().

◆ serviceType()

template<typename T , typename TMaker = AllArgsMaker<T>>
std::type_info const& edm::serviceregistry::ServiceMaker< T, TMaker >::serviceType ( ) const
inlineoverridevirtual

Implements edm::serviceregistry::ServiceMakerBase.

Definition at line 76 of file ServiceMaker.h.

76 { return typeid(T); }
edm::serviceregistry::ServiceMakerBase::testSaveConfiguration
bool testSaveConfiguration(SaveConfiguration const *) const
Definition: ServiceMakerBase.h:58
edm::service::isProcessWideService
bool isProcessWideService(TFileService const *)
Definition: TFileService.h:98
eostools.move
def move(src, dest)
Definition: eostools.py:511
T
long double T
Definition: Basic3DVectorLD.h:48