CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 74 of file ParameterDescriptionCases.h.

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

74  :
75  caseMap_(new CaseMap),
77  {
78  std::pair<T, edm::value_ptr<ParameterDescriptionNode> > casePair(caseValue,edm::value_ptr<ParameterDescriptionNode>());
79  caseMap_->insert(casePair);
80  (*caseMap_)[caseValue] = std::move(node);
81  }
def move
Definition: eostools.py:510
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 47 of file ParameterDescriptionCases.h.

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

47 { return std::move(caseMap_); }
def move
Definition: eostools.py:510
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().

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

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