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 69 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 71 of file ServiceMaker.h.

71 {}

◆ 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 79 of file ServiceMaker.h.

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

79  {
80  TMaker maker;
81  std::unique_ptr<T> pService(maker.make(iPS, iAR));
82  auto ptr = std::make_shared<ServiceWrapper<T> >(std::move(pService));
83  return oSM.put(ptr);
84  }
def move(src, dest)
Definition: eostools.py:511

◆ 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 90 of file ServiceMaker.h.

References edm::service::isProcessWideService().

90  {
91  return service::isProcessWideService(static_cast<typename TMaker::concrete_t const*>(nullptr));
92  }
bool isProcessWideService(TFileService const *)
Definition: TFileService.h:98

◆ saveConfiguration()

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

Implements edm::serviceregistry::ServiceMakerBase.

Definition at line 86 of file ServiceMaker.h.

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

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

◆ 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 77 of file ServiceMaker.h.

77 { return typeid(T); }
long double T