#ifndef ROO_PRINTABLE
#define ROO_PRINTABLE
class TNamed ;
#include "Riosfwd.h"
#include "Rtypes.h"
#include "TString.h"
class RooPrintable {
public:
inline RooPrintable() { }
inline virtual ~RooPrintable() { }
enum ContentsOption { kName=1, kClassName=2, kValue=4, kArgs=8, kExtras=16, kAddress=32, kTitle=64, kCollectionHeader=128} ;
enum StyleOption { kInline=1, kSingleLine=2, kStandard=3, kVerbose=4, kTreeStructure=5 } ;
virtual void printStream(ostream& os, Int_t contents, StyleOption style, TString indent="") const ;
virtual void printAddress(ostream& os) const ;
virtual void printName(ostream& os) const ;
virtual void printTitle(ostream& os) const ;
virtual void printClassName(ostream& os) const ;
virtual void printValue(ostream& os) const ;
virtual void printArgs(ostream& os) const ;
virtual void printExtras(ostream& os) const ;
virtual void printMultiline(ostream& os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const ;
virtual void printTree(ostream& os, TString indent="") const ;
static ostream& defaultPrintStream(ostream *os= 0);
virtual Int_t defaultPrintContents(Option_t* opt) const ;
virtual StyleOption defaultPrintStyle(Option_t* opt) const ;
static void nameFieldLength(Int_t newLen) ;
protected:
static Int_t _nameLength ;
ClassDef(RooPrintable,1)
};
namespace RooFit {
ostream& operator<<(ostream& os, const RooPrintable& rp) ;
}
#ifndef __CINT__
using RooFit::operator<< ;
#endif
#endif