// @(#)root/base:$Name: $:$Id: TRedirectOutputGuard.h,v 1.1 2005/10/11 12:39:36 rdm Exp $
// Author: G. Ganis 10/10/2005
/*************************************************************************
* Copyright (C) 1995-2005, 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_TRedirectOutputGuard
#define ROOT_TRedirectOutputGuard
//////////////////////////////////////////////////////////////////////////
// //
// TRedirectOutputGuard //
// //
// This class provides output redirection to a file in a guaranteed //
// exception safe way. Use like this: //
// { //
// TRedirectOutputGuard guard(filelog, mode); //
// ... // do something //
// } //
// when guard goes out of scope output is automatically redirected to //
// the standard units in the TRedirectOutputGuard destructor. //
// The exception mechanism takes care of calling the dtors //
// of local objects so it is exception safe. //
// The 'mode' options follow the fopen write modes convention; default //
// is "a". //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TSystem
#include "TSystem.h"
#endif
class TRedirectOutputGuard {
public:
TRedirectOutputGuard(const char *fout, const char *mode = "a")
{ gSystem->RedirectOutput(fout, mode); }
virtual ~TRedirectOutputGuard() { gSystem->RedirectOutput(0); }
ClassDef(TRedirectOutputGuard,0) // Exception safe output redirection
};
#endif
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.