00001 00002 #include "JobControl/SeqTable.h" 00003 #include <iostream> 00004 using namespace jobc; 00005 00006 SeqTable* SeqTable::fInstance = 0; 00007 00008 //...................................................................... 00009 00010 SeqTable::SeqTable() { } 00011 00012 //...................................................................... 00013 00014 SeqTable& SeqTable::Instance() 00015 { 00016 if (fInstance == 0) fInstance = new SeqTable(); 00017 return *fInstance; 00018 } 00019 00020 //...................................................................... 00021 00022 void SeqTable::Insert(const Sequence& seq) 00023 { 00024 if (this->Find(seq.Name())==0) { 00025 fSeqTable[std::string(seq.Name())] = seq; 00026 return; 00027 } 00028 std::cerr << "JobCSeqTable: " 00029 << __LINE__ << " Sequence '" << seq.Name() 00030 << "' already defined." << std::endl; 00031 abort(); 00032 } 00033 00034 //...................................................................... 00035 00036 Sequence* SeqTable::Find(const char* name) 00037 { 00038 SeqTable_t::iterator itr = fSeqTable.find(std::string(name)); 00039 if (itr == fSeqTable.end()) return 0; 00040 return &(itr->second); 00041 } 00042
1.3.9.1