CMS 3D CMS Logo

List of all members | Public Member Functions | Private 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
 
bool processWideService () const override
 
bool saveConfiguration () const override
 
 ServiceMaker ()
 
std::type_info const & serviceType () const override
 
- Public Member Functions inherited from edm::serviceregistry::ServiceMakerBase
 ServiceMakerBase ()
 
virtual ~ServiceMakerBase ()
 

Private Member Functions

ServiceMaker const & operator= (ServiceMaker const &)=delete
 
 ServiceMaker (ServiceMaker const &)=delete
 

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

Constructor & Destructor Documentation

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

Definition at line 75 of file ServiceMaker.h.

75 {}
template<typename T , typename TMaker = AllArgsMaker<T>>
edm::serviceregistry::ServiceMaker< T, TMaker >::ServiceMaker ( ServiceMaker< T, TMaker > const &  )
privatedelete

Member Function Documentation

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

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

83  {
84  TMaker maker;
85  std::unique_ptr<T> pService(maker.make(iPS, iAR));
86  auto ptr = std::make_shared<ServiceWrapper<T> >(std::move(pService));
87  return oSM.put(ptr);
88  }
def move(src, dest)
Definition: eostools.py:510
template<typename T , typename TMaker = AllArgsMaker<T>>
ServiceMaker const& edm::serviceregistry::ServiceMaker< T, TMaker >::operator= ( ServiceMaker< T, TMaker > const &  )
privatedelete
template<typename T , typename TMaker = AllArgsMaker<T>>
bool edm::serviceregistry::ServiceMaker< T, TMaker >::processWideService ( ) const
inlineoverridevirtual

Implements edm::serviceregistry::ServiceMakerBase.

Definition at line 94 of file ServiceMaker.h.

References edm::service::isProcessWideService().

94  {
95  return service::isProcessWideService(static_cast<typename TMaker::concrete_t const*>(nullptr));
96  }
bool isProcessWideService(TFileService const *)
Definition: TFileService.h:99
template<typename T , typename TMaker = AllArgsMaker<T>>
bool edm::serviceregistry::ServiceMaker< T, TMaker >::saveConfiguration ( ) const
inlineoverridevirtual

Implements edm::serviceregistry::ServiceMakerBase.

Definition at line 90 of file ServiceMaker.h.

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

90  {
91  return ServiceMakerBase::testSaveConfiguration(static_cast<typename TMaker::concrete_t const*>(nullptr));
92  }
bool testSaveConfiguration(SaveConfiguration const *) const
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 79 of file ServiceMaker.h.

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