File indexing completed on 2023-03-17 11:03:27
0001
0002 #include "FWCore/ParameterSet/interface/ParameterDescriptionCases.h"
0003
0004 namespace edm {
0005
0006 std::unique_ptr<ParameterDescriptionCases<bool> > operator||(
0007 std::unique_ptr<ParameterDescriptionCases<bool> > left, std::unique_ptr<ParameterDescriptionCases<bool> > right) {
0008 std::unique_ptr<std::map<bool, edm::value_ptr<ParameterDescriptionNode> > > rightCases = right->caseMap();
0009 for (std::map<bool, edm::value_ptr<ParameterDescriptionNode> >::const_iterator iter = rightCases->begin(),
0010 iEnd = rightCases->end();
0011 iter != iEnd;
0012 ++iter) {
0013 bool caseValue = iter->first;
0014 std::unique_ptr<ParameterDescriptionNode> node(iter->second->clone());
0015 left->insert(caseValue, std::move(node));
0016 }
0017 return left;
0018 }
0019
0020 std::unique_ptr<ParameterDescriptionCases<int> > operator||(std::unique_ptr<ParameterDescriptionCases<int> > left,
0021 std::unique_ptr<ParameterDescriptionCases<int> > right) {
0022 std::unique_ptr<std::map<int, edm::value_ptr<ParameterDescriptionNode> > > rightCases = right->caseMap();
0023 for (std::map<int, edm::value_ptr<ParameterDescriptionNode> >::const_iterator iter = rightCases->begin(),
0024 iEnd = rightCases->end();
0025 iter != iEnd;
0026 ++iter) {
0027 int caseValue = iter->first;
0028 std::unique_ptr<ParameterDescriptionNode> node(iter->second->clone());
0029 left->insert(caseValue, std::move(node));
0030 }
0031 return left;
0032 }
0033
0034 std::unique_ptr<ParameterDescriptionCases<std::string> > operator||(
0035 std::unique_ptr<ParameterDescriptionCases<std::string> > left,
0036 std::unique_ptr<ParameterDescriptionCases<std::string> > right) {
0037 std::unique_ptr<std::map<std::string, edm::value_ptr<ParameterDescriptionNode> > > rightCases = right->caseMap();
0038 for (std::map<std::string, edm::value_ptr<ParameterDescriptionNode> >::const_iterator iter = rightCases->begin(),
0039 iEnd = rightCases->end();
0040 iter != iEnd;
0041 ++iter) {
0042 std::string caseValue = iter->first;
0043 std::unique_ptr<ParameterDescriptionNode> node(iter->second->clone());
0044 left->insert(caseValue, std::move(node));
0045 }
0046 return left;
0047 }
0048 }