/usr/include/root/TObjectSet.h is in libroot-misc-table-dev 5.34.14-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61  | // @(#)root/table:$Id$
// Author: Valery Fine(fine@bnl.gov)   25/12/98
/*************************************************************************
 * 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_TObjectSet
#define ROOT_TObjectSet
#include "TDataSet.h"
//////////////////////////////////////////////////////////////////////////////////////
//                                                                                  //
//  TObjectSet  - is a container TDataSet                                           //
//                  This means this object has an extra pointer to an embedded      //
//                  TObject.                                                        //
//  Terminology:    This TObjectSet may be an OWNER of the embeded TObject          //
//                  If the container is the owner it can delete the embeded object  //
//                  otherwsie it leaves that object "as is"                         //
//                                                                                  //
//////////////////////////////////////////////////////////////////////////////////////
class TObjectSet : public TDataSet {
protected:
   enum EOwnerBits { kIsOwner         = BIT(23) };
   TObject *fObj;                              // TObject to be inserted
public:
   TObjectSet(const Char_t *name, TObject *obj=0,Bool_t makeOwner=kTRUE);
   TObjectSet(TObject *obj=0,Bool_t makeOwner=kTRUE);
   virtual ~TObjectSet();
   virtual TObject *AddObject(TObject *obj,Bool_t makeOwner=kTRUE);
   virtual void     Browse(TBrowser *b);
   virtual void     Delete(Option_t *opt="");
   virtual Bool_t   DoOwner(Bool_t done=kTRUE);
   virtual Long_t   HasData() const;
   virtual TObject *GetObject() const; 
   virtual TDataSet *Instance() const;
   virtual Bool_t   IsOwner() const;
   virtual void     SetObject(TObject *obj);
   virtual TObject *SetObject(TObject *obj,Bool_t makeOwner);
   static TObjectSet *instance();
   ClassDef(TObjectSet,1) // TDataSet wrapper for TObject class objects
};
inline TObjectSet *TObjectSet::instance()
{ return new TObjectSet();}
inline Long_t   TObjectSet::HasData()   const {return fObj ? 1 : 0;}
inline TObject *TObjectSet::GetObject() const {return fObj;}
inline Bool_t   TObjectSet::IsOwner()   const {return TestBit(kIsOwner);}
inline void     TObjectSet::SetObject(TObject *obj) { SetObject(obj,kTRUE);}
#endif
 |