// $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 #include 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