CMS 3D CMS Logo

ParameterDescriptionCases.cc
Go to the documentation of this file.
1 
3 
4 namespace edm {
5 
6  std::unique_ptr<ParameterDescriptionCases<bool> > operator||(
7  std::unique_ptr<ParameterDescriptionCases<bool> > left, std::unique_ptr<ParameterDescriptionCases<bool> > right) {
8  std::unique_ptr<std::map<bool, edm::value_ptr<ParameterDescriptionNode> > > rightCases = right->caseMap();
9  for (std::map<bool, edm::value_ptr<ParameterDescriptionNode> >::const_iterator iter = rightCases->begin(),
10  iEnd = rightCases->end();
11  iter != iEnd;
12  ++iter) {
13  bool caseValue = iter->first;
14  std::unique_ptr<ParameterDescriptionNode> node(iter->second->clone());
15  left->insert(caseValue, std::move(node));
16  }
17  return left;
18  }
19 
20  std::unique_ptr<ParameterDescriptionCases<int> > operator||(std::unique_ptr<ParameterDescriptionCases<int> > left,
21  std::unique_ptr<ParameterDescriptionCases<int> > right) {
22  std::unique_ptr<std::map<int, edm::value_ptr<ParameterDescriptionNode> > > rightCases = right->caseMap();
23  for (std::map<int, edm::value_ptr<ParameterDescriptionNode> >::const_iterator iter = rightCases->begin(),
24  iEnd = rightCases->end();
25  iter != iEnd;
26  ++iter) {
27  int caseValue = iter->first;
28  std::unique_ptr<ParameterDescriptionNode> node(iter->second->clone());
29  left->insert(caseValue, std::move(node));
30  }
31  return left;
32  }
33 
34  std::unique_ptr<ParameterDescriptionCases<std::string> > operator||(
35  std::unique_ptr<ParameterDescriptionCases<std::string> > left,
36  std::unique_ptr<ParameterDescriptionCases<std::string> > right) {
37  std::unique_ptr<std::map<std::string, edm::value_ptr<ParameterDescriptionNode> > > rightCases = right->caseMap();
38  for (std::map<std::string, edm::value_ptr<ParameterDescriptionNode> >::const_iterator iter = rightCases->begin(),
39  iEnd = rightCases->end();
40  iter != iEnd;
41  ++iter) {
42  std::string caseValue = iter->first;
43  std::unique_ptr<ParameterDescriptionNode> node(iter->second->clone());
44  left->insert(caseValue, std::move(node));
45  }
46  return left;
47  }
48 } // namespace edm
std::unique_ptr< ParameterDescriptionCases< bool > > operator||(std::unique_ptr< ParameterDescriptionCases< bool > >, std::unique_ptr< ParameterDescriptionCases< bool > >)
HLT enums.
def move(src, dest)
Definition: eostools.py:511