CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes
edm::es::L< T, ILabel > Struct Template Reference

#include <es_Label.h>

Public Types

using element_type = T
 

Public Member Functions

 L ()=default
 
 L (std::shared_ptr< T > iP)
 
 L (std::unique_ptr< T > iP)
 
 L (T *iP)
 
Toperator* ()
 
T const & operator* () const
 
Toperator-> ()
 
T const * operator-> () const
 

Public Attributes

std::shared_ptr< Tproduct_ {nullptr}
 

Detailed Description

template<typename T, int ILabel>
struct edm::es::L< T, ILabel >

Definition at line 36 of file es_Label.h.

Member Typedef Documentation

◆ element_type

template<typename T , int ILabel>
using edm::es::L< T, ILabel >::element_type = T

Definition at line 37 of file es_Label.h.

Constructor & Destructor Documentation

◆ L() [1/4]

template<typename T , int ILabel>
edm::es::L< T, ILabel >::L ( )
default

◆ L() [2/4]

template<typename T , int ILabel>
edm::es::L< T, ILabel >::L ( std::shared_ptr< T iP)
inlineexplicit

Definition at line 40 of file es_Label.h.

References eostools::move().

40 : product_{std::move(iP)} {}
std::shared_ptr< T > product_
Definition: es_Label.h:48
def move(src, dest)
Definition: eostools.py:511

◆ L() [3/4]

template<typename T , int ILabel>
edm::es::L< T, ILabel >::L ( std::unique_ptr< T iP)
inlineexplicit

Definition at line 41 of file es_Label.h.

References eostools::move().

41 : product_{std::move(iP)} {}
std::shared_ptr< T > product_
Definition: es_Label.h:48
def move(src, dest)
Definition: eostools.py:511

◆ L() [4/4]

template<typename T , int ILabel>
edm::es::L< T, ILabel >::L ( T iP)
inlineexplicit

Definition at line 42 of file es_Label.h.

42 : product_(iP) {}
std::shared_ptr< T > product_
Definition: es_Label.h:48

Member Function Documentation

◆ operator*() [1/2]

template<typename T , int ILabel>
T& edm::es::L< T, ILabel >::operator* ( void  )
inline

Definition at line 44 of file es_Label.h.

References edm::es::L< T, ILabel >::product_.

44 { return *product_; }
std::shared_ptr< T > product_
Definition: es_Label.h:48

◆ operator*() [2/2]

template<typename T , int ILabel>
T const& edm::es::L< T, ILabel >::operator* ( void  ) const
inline

Definition at line 46 of file es_Label.h.

References edm::es::L< T, ILabel >::product_.

46 { return *product_; }
std::shared_ptr< T > product_
Definition: es_Label.h:48

◆ operator->() [1/2]

template<typename T , int ILabel>
T* edm::es::L< T, ILabel >::operator-> ( )
inline

Definition at line 45 of file es_Label.h.

References edm::es::L< T, ILabel >::product_.

45 { return product_.get(); }
std::shared_ptr< T > product_
Definition: es_Label.h:48

◆ operator->() [2/2]

template<typename T , int ILabel>
T const* edm::es::L< T, ILabel >::operator-> ( ) const
inline

Definition at line 47 of file es_Label.h.

References edm::es::L< T, ILabel >::product_.

47 { return product_.get(); }
std::shared_ptr< T > product_
Definition: es_Label.h:48

Member Data Documentation

◆ product_

template<typename T , int ILabel>
std::shared_ptr<T> edm::es::L< T, ILabel >::product_ {nullptr}
mutable