Loading [MathJax]/extensions/tex2jax.js
ROOT
6.06/09
Reference Guide
ROOT Home Page
Main Page
Related Pages
User's Classes
Namespaces
All Classes
Files
Release Notes
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
core
base
inc
TRedirectOutputGuard.h
Go to the documentation of this file.
1
// @(#)root/base:$Id$
2
// Author: G. Ganis 10/10/2005
3
4
/*************************************************************************
5
* Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
6
* All rights reserved. *
7
* *
8
* For the licensing terms see $ROOTSYS/LICENSE. *
9
* For the list of contributors see $ROOTSYS/README/CREDITS. *
10
*************************************************************************/
11
12
#ifndef ROOT_TRedirectOutputGuard
13
#define ROOT_TRedirectOutputGuard
14
15
//////////////////////////////////////////////////////////////////////////
16
// //
17
// TRedirectOutputGuard //
18
// //
19
// This class provides output redirection to a file in a guaranteed //
20
// exception safe way. Use like this: //
21
// { //
22
// TRedirectOutputGuard guard(filelog, mode); //
23
// ... // do something //
24
// } //
25
// when guard goes out of scope output is automatically redirected to //
26
// the standard units in the TRedirectOutputGuard destructor. //
27
// The exception mechanism takes care of calling the dtors //
28
// of local objects so it is exception safe. //
29
// The 'mode' options follow the fopen write modes convention; default //
30
// is "a". //
31
// //
32
//////////////////////////////////////////////////////////////////////////
33
34
#ifndef ROOT_TSystem
35
#include "
TSystem.h
"
36
#endif
37
38
class
TRedirectOutputGuard
{
39
40
public
:
41
TRedirectOutputGuard
(
const
char
*fout,
const
char
*mode =
"a"
)
42
{
gSystem
->
RedirectOutput
(fout, mode); }
43
virtual
~TRedirectOutputGuard
() {
gSystem
->
RedirectOutput
(0); }
44
45
ClassDef
(
TRedirectOutputGuard
,0)
// Exception safe output redirection
46
};
47
48
#endif
TRedirectOutputGuard::~TRedirectOutputGuard
virtual ~TRedirectOutputGuard()
Definition:
TRedirectOutputGuard.h:43
TRedirectOutputGuard
Definition:
TRedirectOutputGuard.h:38
ClassDef
#define ClassDef(name, id)
Definition:
Rtypes.h:254
TSystem.h
gSystem
R__EXTERN TSystem * gSystem
Definition:
TSystem.h:549
TSystem::RedirectOutput
virtual Int_t RedirectOutput(const char *name, const char *mode="a", RedirectHandle_t *h=0)
Redirect standard output (stdout, stderr) to the specified file.
Definition:
TSystem.cxx:1677
TRedirectOutputGuard::TRedirectOutputGuard
TRedirectOutputGuard(const char *fout, const char *mode="a")
Definition:
TRedirectOutputGuard.h:41