CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
edm::ParameterDescriptionCases< T > Class Template Reference

#include <ParameterDescriptionCases.h>

Public Types

typedef std::map< T,
edm::value_ptr
< ParameterDescriptionNode > > 
CaseMap
 

Public Member Functions

std::unique_ptr< CaseMapcaseMap ()
 
bool duplicateCaseValues () const
 
void insert (T caseValue, std::unique_ptr< ParameterDescriptionNode > node)
 

Private Member Functions

 ParameterDescriptionCases (T const &caseValue, std::unique_ptr< ParameterDescriptionNode > node)
 

Private Attributes

std::unique_ptr< CaseMapcaseMap_
 
bool duplicateCaseValues_
 

Friends

std::unique_ptr
< ParameterDescriptionCases
< bool > > 
operator>> (bool caseValue, std::unique_ptr< ParameterDescriptionNode > node)
 
std::unique_ptr
< ParameterDescriptionCases
< int > > 
operator>> (int caseValue, std::unique_ptr< ParameterDescriptionNode > node)
 
std::unique_ptr
< ParameterDescriptionCases
< std::string > > 
operator>> (std::string const &caseValue, std::unique_ptr< ParameterDescriptionNode > node)
 
std::unique_ptr
< ParameterDescriptionCases
< std::string > > 
operator>> (char const *caseValue, std::unique_ptr< ParameterDescriptionNode > node)
 

Detailed Description

template<typename T>
class edm::ParameterDescriptionCases< T >

Definition at line 35 of file ParameterDescriptionCases.h.

Member Typedef Documentation

template<typename T >
typedef std::map<T, edm::value_ptr<ParameterDescriptionNode> > edm::ParameterDescriptionCases< T >::CaseMap

Definition at line 37 of file ParameterDescriptionCases.h.

Constructor & Destructor Documentation

template<typename T >
edm::ParameterDescriptionCases< T >::ParameterDescriptionCases ( T const &  caseValue,
std::unique_ptr< ParameterDescriptionNode node 
)
inlineprivate

Definition at line 67 of file ParameterDescriptionCases.h.

References edm::ParameterDescriptionCases< T >::caseMap_, and eostools::move().

68  : caseMap_(new CaseMap), duplicateCaseValues_(false) {
69  std::pair<T, edm::value_ptr<ParameterDescriptionNode> > casePair(caseValue,
71  caseMap_->insert(casePair);
72  (*caseMap_)[caseValue] = std::move(node);
73  }
def move
Definition: eostools.py:511
std::unique_ptr< CaseMap > caseMap_
std::map< T, edm::value_ptr< ParameterDescriptionNode > > CaseMap

Member Function Documentation

template<typename T >
std::unique_ptr<CaseMap> edm::ParameterDescriptionCases< T >::caseMap ( )
inline

Definition at line 49 of file ParameterDescriptionCases.h.

References edm::ParameterDescriptionCases< T >::caseMap_, and eostools::move().

49 { return std::move(caseMap_); }
def move
Definition: eostools.py:511
std::unique_ptr< CaseMap > caseMap_
template<typename T >
bool edm::ParameterDescriptionCases< T >::duplicateCaseValues ( ) const
inline
template<typename T >
void edm::ParameterDescriptionCases< T >::insert ( T  caseValue,
std::unique_ptr< ParameterDescriptionNode node 
)
inline

Definition at line 39 of file ParameterDescriptionCases.h.

References edm::ParameterDescriptionCases< T >::caseMap_, edm::ParameterDescriptionCases< T >::duplicateCaseValues_, eostools::move(), and mps_update::status.

Referenced by BeautifulSoup.PageElement::_invert(), and SequenceTypes.Schedule::_replaceIfHeldDirectly().

39  {
40  std::pair<T, edm::value_ptr<ParameterDescriptionNode> > casePair(caseValue,
42  std::pair<typename CaseMap::iterator, bool> status;
43  status = caseMap_->insert(casePair);
44  (*caseMap_)[caseValue] = std::move(node);
45  if (status.second == false)
46  duplicateCaseValues_ = true;
47  }
list status
Definition: mps_update.py:107
def move
Definition: eostools.py:511
std::unique_ptr< CaseMap > caseMap_

Friends And Related Function Documentation

template<typename T >
std::unique_ptr<ParameterDescriptionCases<bool> > operator>> ( bool  caseValue,
std::unique_ptr< ParameterDescriptionNode node 
)
friend
template<typename T >
std::unique_ptr<ParameterDescriptionCases<int> > operator>> ( int  caseValue,
std::unique_ptr< ParameterDescriptionNode node 
)
friend
template<typename T >
std::unique_ptr<ParameterDescriptionCases<std::string> > operator>> ( std::string const &  caseValue,
std::unique_ptr< ParameterDescriptionNode node 
)
friend
template<typename T >
std::unique_ptr<ParameterDescriptionCases<std::string> > operator>> ( char const *  caseValue,
std::unique_ptr< ParameterDescriptionNode node 
)
friend

Member Data Documentation

template<typename T >
std::unique_ptr<CaseMap> edm::ParameterDescriptionCases< T >::caseMap_
private
template<typename T >
bool edm::ParameterDescriptionCases< T >::duplicateCaseValues_
private