Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

jobc::SeqTable Class Reference

Table of sequences indexed by their names. More...

#include <SeqTable.h>

List of all members.

Public Types

typedef std::map< std::string,
jobc::Sequence
SeqTable_t

Public Member Functions

void Insert (const Sequence &seq)
SequenceFind (const char *name)
const SeqTable_tGetMap () const

Static Public Member Functions

SeqTableInstance ()

Private Member Functions

 SeqTable ()

Private Attributes

SeqTable_t fSeqTable
 The set of sequences defined to the job.

Static Private Attributes

SeqTablefInstance = 0
 Sole instance of table class.


Detailed Description

Table of sequences indexed by their names.

Definition at line 18 of file SeqTable.h.


Member Typedef Documentation

typedef std::map<std::string,jobc::Sequence> jobc::SeqTable::SeqTable_t
 

Definition at line 25 of file SeqTable.h.


Constructor & Destructor Documentation

SeqTable::SeqTable  )  [private]
 

Definition at line 11 of file SeqTable.cxx.

Referenced by Instance().

00011 { }


Member Function Documentation

Sequence * SeqTable::Find const char *  name  ) 
 

Definition at line 37 of file SeqTable.cxx.

References fSeqTable.

Referenced by jobc::nodeBuilder::Build(), and Insert().

00038 {
00039   SeqTable_t::iterator itr = fSeqTable.find(std::string(name));
00040   if (itr == fSeqTable.end()) return 0;
00041   return &(itr->second);
00042 }

const SeqTable_t& jobc::SeqTable::GetMap  )  const [inline]
 

Definition at line 26 of file SeqTable.h.

Referenced by jobc::XMLConfiguration().

00026 { return fSeqTable; }

void SeqTable::Insert const Sequence seq  ) 
 

Definition at line 23 of file SeqTable.cxx.

References Find(), fSeqTable, and jobc::Node::Name().

Referenced by jobc::sequenceBuilder::Build().

00024 {
00025   if (this->Find(seq.Name())==0) {
00026     fSeqTable[std::string(seq.Name())] = seq;
00027     return;
00028   }
00029   std::cerr << "JobCSeqTable: "
00030             << __LINE__ << " Sequence '" << seq.Name()
00031             << "' already defined." << std::endl;
00032   abort();
00033 }

SeqTable & SeqTable::Instance  )  [static]
 

Definition at line 15 of file SeqTable.cxx.

References fInstance, and SeqTable().

Referenced by jobc::sequenceBuilder::Build(), jobc::nodeBuilder::Build(), and jobc::XMLConfiguration().

00016 {
00017   if (fInstance == 0) fInstance = new SeqTable();
00018   return *fInstance;
00019 }


Member Data Documentation

SeqTable * SeqTable::fInstance = 0 [static, private]
 

Sole instance of table class.

Definition at line 7 of file SeqTable.cxx.

Referenced by Instance().

SeqTable_t jobc::SeqTable::fSeqTable [private]
 

The set of sequences defined to the job.

Definition at line 33 of file SeqTable.h.

Referenced by Find(), and Insert().


The documentation for this class was generated from the following files:
Generated on Mon Nov 23 04:45:33 2009 for NOvA Offline by  doxygen 1.3.9.1