CMS 3D CMS Logo

IgModuleDescriptor.h

Go to the documentation of this file.
00001 #ifndef IGUANA_FRAMEWORK_IG_MODULE_DESCRIPTOR_H
00002 # define IGUANA_FRAMEWORK_IG_MODULE_DESCRIPTOR_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/Framework/interface/config.h"
00007 # include <vector>
00008 # include <string>
00009 
00010 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00011 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00012 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00013 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00014 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00015 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00016 
00018 class IgModuleDescriptor
00019 {
00020 public:
00021     IgModuleDescriptor (IgModuleDescriptor *parent = 0,
00022                         const std::string &t1 = "",
00023                         const std::string &t2 = "",
00024                         const std::string &t3 = "",
00025                         const std::string &t4 = "",
00026                         const std::string &t5 = "",
00027                         const std::string &t6 = "",
00028                         const std::string &t7 = "",
00029                         const std::string &t8 = "");
00030     IgModuleDescriptor (IgModuleDescriptor *parent,
00031                         const std::vector<std::string> &tokens);
00032     ~IgModuleDescriptor (void);
00033     // implicit copy constructor
00034     // implicit assignment operator
00035 
00036     IgModuleDescriptor *                parent (void) const;
00037     unsigned                            children (void) const;
00038     IgModuleDescriptor *                child (unsigned index) const;
00039     void                                addChild (IgModuleDescriptor *child);
00040 
00041     unsigned                            tokens (void) const;
00042     const std::string &                 token (unsigned index) const;
00043     void                                addToken (const std::string &text);
00044 
00045     void                                dup (IgModuleDescriptor *to) const;
00046 
00047 private:
00048     IgModuleDescriptor                  *m_parent;      //< Up in the tree.
00049     std::vector<IgModuleDescriptor *>   m_children;     //< Down in the tree.
00050     std::vector<std::string>            m_tokens;       //< Tokens.
00051 };
00052 
00053 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00054 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00055 
00056 #endif // IGUANA_FRAMEWORK_IG_MODULE_DESCRIPTOR_H

Generated on Tue Jun 9 17:38:19 2009 for CMSSW by  doxygen 1.5.4