ROOT logo
// @(#)root/tree:$Id: TTreeRow.h 20882 2007-11-19 11:31:26Z rdm $
// Author: Fons Rademakers   30/11/99

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TTreeRow
#define ROOT_TTreeRow


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TTreeRow                                                             //
//                                                                      //
// Class defining interface to a row of a TTree query result.           //
// Objects of this class are created by TTreeResult methods.            //
//                                                                      //
// Related classes are TTreeResult.                                     //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TSQLRow
#include "TSQLRow.h"
#endif

class TTreeRow : public TSQLRow {

friend class TTreeResult;
friend class TTreePlayer;

private:
   Int_t        fColumnCount;  // number of columns in row
   Int_t       *fFields;       //[fColumnCount] index in fRow of the end of each field
   char        *fRow;          // string with all the fColumnCount fields
   TTreeRow    *fOriginal;     //! pointer to original row

   TTreeRow(TSQLRow *original);
   Bool_t  IsValid(Int_t field);

public:
   TTreeRow();
   TTreeRow(Int_t nfields);
   TTreeRow(Int_t nfields, const Int_t *fields, const char *row);
   virtual ~TTreeRow();

   void        Close(Option_t *option="");
   ULong_t     GetFieldLength(Int_t field);
   const char *GetField(Int_t field);
   void        SetRow(const Int_t *fields, const char *row);
   
   ClassDef(TTreeRow,1)  // One row of an TTree query result
};

#endif
 TTreeRow.h:1
 TTreeRow.h:2
 TTreeRow.h:3
 TTreeRow.h:4
 TTreeRow.h:5
 TTreeRow.h:6
 TTreeRow.h:7
 TTreeRow.h:8
 TTreeRow.h:9
 TTreeRow.h:10
 TTreeRow.h:11
 TTreeRow.h:12
 TTreeRow.h:13
 TTreeRow.h:14
 TTreeRow.h:15
 TTreeRow.h:16
 TTreeRow.h:17
 TTreeRow.h:18
 TTreeRow.h:19
 TTreeRow.h:20
 TTreeRow.h:21
 TTreeRow.h:22
 TTreeRow.h:23
 TTreeRow.h:24
 TTreeRow.h:25
 TTreeRow.h:26
 TTreeRow.h:27
 TTreeRow.h:28
 TTreeRow.h:29
 TTreeRow.h:30
 TTreeRow.h:31
 TTreeRow.h:32
 TTreeRow.h:33
 TTreeRow.h:34
 TTreeRow.h:35
 TTreeRow.h:36
 TTreeRow.h:37
 TTreeRow.h:38
 TTreeRow.h:39
 TTreeRow.h:40
 TTreeRow.h:41
 TTreeRow.h:42
 TTreeRow.h:43
 TTreeRow.h:44
 TTreeRow.h:45
 TTreeRow.h:46
 TTreeRow.h:47
 TTreeRow.h:48
 TTreeRow.h:49
 TTreeRow.h:50
 TTreeRow.h:51
 TTreeRow.h:52
 TTreeRow.h:53
 TTreeRow.h:54
 TTreeRow.h:55
 TTreeRow.h:56
 TTreeRow.h:57
 TTreeRow.h:58
 TTreeRow.h:59