// $Header: /data/reve-cvs/reve/revecore/Reve.h,v 1.2 2005/12/06 19:21:30 mtadel Exp $

#ifndef REVE_Reve_H
#define REVE_Reve_H

#include <string>
#include <TString.h>

inline bool operator==(const TString& t, const std::string& s)
{ return (s == t.Data()); }

inline bool operator==(const std::string&  s, const TString& t)
{ return (s == t.Data()); }

class TVirtualPad;

namespace Reve {

class Exc_t : public std::string
{
 public:
  Exc_t() {}
  Exc_t(const std::string& s) : std::string(s) {}
  Exc_t(const char* s)        : std::string(s) {}

  virtual ~Exc_t() {}

  const char* Data() const { return c_str(); }

  ClassDef(Reve::Exc_t, 1);
};

Exc_t operator+(const Exc_t &s1, const std::string  &s2);
Exc_t operator+(const Exc_t &s1, const TString &s2);
Exc_t operator+(const Exc_t &s1, const char    *s2);

void warn_caller(const TString& warning);

/**************************************************************************/
/**************************************************************************/

TVirtualPad* PushPad(TVirtualPad* new_gpad=0, Int_t subpad=0);
TVirtualPad* PopPad(Bool_t modify_update_p=false);

class PadHolder
{
private:
  Bool_t fModifyUpdateP;
public:
  PadHolder(Bool_t modify_update_p, TVirtualPad* new_gpad=0, Int_t subpad=0) :
    fModifyUpdateP(modify_update_p)
  { PushPad(new_gpad, subpad); }

  virtual ~PadHolder() { PopPad(fModifyUpdateP); }

  ClassDef(PadHolder, 0);
};

}

#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.