ROOT logo
#ifndef __TMrbHistory_h__
#define __TMrbHistory_h__
#ifndef __CINT__
#ifndef USECLANG
	#define USECLANG = strcmp(CXX,"clang++")
#endif
#if USELANG == 1
	#pragma clang diagnostic ignored "-Woverloaded-virtual"
#endif
#endif

//_________________________________________________[C++ CLASS DEFINITION FILE]
//////////////////////////////////////////////////////////////////////////////
// Name:           utils/inc/TMrbHistory.h
// Purpose:        Define utilities to be used with MARaBOU
// Class:          TMrbHistory    -- (inverse) history buffer
// Description:    Common class definitions to be used within MARaBOU
// Author:         R. Lutter
// Revision:       $Id: TMrbHistory.h,v 1.6 2005-09-09 06:59:14 Rudolf.Lutter Exp $       
// Date:           
// Keywords:
//////////////////////////////////////////////////////////////////////////////

namespace std {} using namespace std;

#include <iostream>
#include "TObjArray.h"
#include "TObjString.h"

//______________________________________________________[C++ CLASS DEFINITION]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMrbHistory
// Purpose:        Keep track of actions performed so far
// Description:    Stores commands in an array of strings which may be
//                 accessed later on.
// Keywords:
//////////////////////////////////////////////////////////////////////////////

class TMrbHistory: public TObjArray {

	public:
		TMrbHistory() {};					// default ctor
		~TMrbHistory() {};					// default dtor

		TObjString * AddEntry(TObject * Obj, const Char_t * Command); 	// add entry
		const Char_t * GetEntry(Int_t Index) const;					// get history entry
		Bool_t RemoveEntry(Int_t Index);							// remove entry
		Bool_t Exec(Int_t Index) const; 									// execute command at entry(i)
		Bool_t Restore(Bool_t ReverseOrder = kTRUE) const; 				// exec all history entries
						
		void Print(Option_t * Option) const { TObject::Print(Option); }
		void Print(ostream & Out) const;
		inline void Print() const { Print(cout); };
		
		inline void Help() { gSystem->Exec(Form("mrbHelp %s", this->ClassName())); };

	protected:

	ClassDef(TMrbHistory, 1) 	// [Utils] Some extensions to TSystem class
};

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