| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

INTuple.h

Go to the documentation of this file.
00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/INTuple.h,v 1.7 2008/10/27 19:22:20 marcocle Exp $
00002 #ifndef GAUDIKERNEL_INTUPLE_H
00003 #define GAUDIKERNEL_INTUPLE_H
00004 
00005 // STL include files
00006 #include <string>
00007 #include <typeinfo>
00008 
00009 // Framework include files
00010 #include "GaudiKernel/Kernel.h"
00011 #include "GaudiKernel/StatusCode.h"
00012 
00013 // Forward declarations
00014 class INTuple;
00015 class INTupleItem;
00016 class ISelectStatement;
00017 
00027 class INTupleItem    {
00028 protected:
00030   virtual void                setType (long typ)            = 0;
00031 public:
00033   virtual ~INTupleItem() { }
00034 
00036   virtual void                release()                     = 0;
00038   virtual const std::type_info& typeID()      const         = 0;
00040   virtual std::string         typeName()      const         = 0;
00042   virtual const void*         buffer()        const         = 0;
00044   virtual bool                hasIndex()      const         = 0;
00046   virtual const std::string&  index()         const         = 0;
00048   virtual const std::string&  name()          const         = 0;
00050   virtual long                type()          const         = 0;
00052   virtual long                length()        const         = 0;
00054   virtual void                reset()                       = 0;
00056   virtual long                ndim()          const         = 0;
00058   virtual long                dim(long i)     const         = 0;
00060   virtual long                size()          const         = 0;
00062   virtual long                filled()        const         = 0;
00064   virtual INTupleItem*        indexItem()                   = 0;
00066   virtual const INTupleItem*  indexItem()     const         = 0;
00068   virtual INTuple*            tuple()                       = 0;
00069 };
00070 
00080 class INTuple   {
00081 protected:
00083   virtual INTupleItem*          i_find(const std::string& name)  const = 0;
00084 public:
00085   // Definition of _Item container
00086   typedef std::vector< INTupleItem* > ItemContainer;
00088   virtual ItemContainer&        items()   =  0;
00090   virtual const ItemContainer&  items()    const   = 0;
00092   virtual void                  setBuffer(char* buff) = 0;
00094   virtual const char*           buffer()  const = 0;
00096   virtual char*                 buffer()  = 0;
00098   virtual const std::string&    title()         const         = 0;
00100   virtual void                  reset() = 0;
00102   virtual const INTupleItem*    find(const std::string& name) const = 0;
00104   virtual       INTupleItem*    find(const std::string& name) = 0;
00106   virtual StatusCode            add(INTupleItem* item) = 0;
00108   virtual StatusCode            remove(INTupleItem* item) = 0;
00110   virtual StatusCode            remove(const std::string& name) = 0;
00112   virtual StatusCode            attachSelector(ISelectStatement* sel) = 0;
00114   virtual ISelectStatement*     selector() = 0;
00116   virtual StatusCode            write() = 0;
00118   virtual StatusCode            writeRecord() = 0;
00120   virtual StatusCode            read() = 0;
00122   virtual StatusCode            readRecord() = 0;
00124   virtual StatusCode            save() = 0;
00125   virtual ~INTuple() {}
00126 };
00127 #endif
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:56:57 2011 for GaudiKernel by doxygen 1.4.7