EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FairDbString.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file FairDbString.h
1 #ifndef FAIRDBSTRING
2 #define FAIRDBSTRING
3 #include <string>
4 
5 #ifndef ROOT_Rtypes
6 #if !defined(__CINT__) || defined(__MAKECINT__)
7 #include "Rtypes.h"
8 #endif
9 #endif
10 
11 #ifndef VECTOR
12 #include <vector>
13 #define VECTOR
14 #endif
15 #ifndef STRING
16 #include <string>
17 #define STRING
18 #endif
19 #include <sstream>
20 
21 
22 namespace FairUtilString
23 {
24 Bool_t atob(const Char_t* s);
25 Bool_t atob(const Char_t* s, Bool_t& isvalid);
26 Int_t cmp_nocase(const std::string& s1, const std::string& s2);
27 Int_t cmp_wildcard(const std::string& s, const std::string& w);
28 void MakePrintable(const Char_t* in,
29  std::string& out);
30 void StringTok(std::vector<std::string>& ls,
31  const std::string& str,
32  const std::string& tok);
33 Bool_t IsBool(const Char_t* s);
34 Bool_t IsInt(const Char_t* s);
35 Bool_t IsFloat(const Char_t* s);
36 
37 std::string ToLower(const std::string& str);
38 std::string ToUpper(const std::string& str);
39 //Has to be inline, won't work otherwise
40 template <class T>
41 std::string ToString(const T& t, std::ios_base & (*f)(std::ios_base&) = std::dec)
42 {
43  std::ostringstream oss;
44  oss << f << t;
45  return oss.str();
46 }
47 }
48 
49 
51 {
52 
53  public:
54  FairDbString();
55  FairDbString(const Char_t* str);
56  FairDbString(const std::string& str);
57  virtual ~FairDbString();
58 
59 // State testing member functions
60  const Char_t* c_str() const { return fString.c_str(); }
61  const std::string& GetString() const { return fString; }
62 
63 // State changing member functions
65  FairDbString& operator<<(UInt_t data);
66  FairDbString& operator<<(Float_t data);
67  FairDbString& operator<<(Char_t data);
68  FairDbString& operator<<(const Char_t* data);
69  FairDbString& operator<<(const std::string& data);
70  void Clear() { fString.clear(); }
71  std::string& GetString() { return fString; }
72 
73 
74 
75  private:
76 
77  std::string fString;
78 
79  ClassDef(FairDbString,0) // output string stream
80 
81 };
82 
83 
84 
85 #endif // FairDbString
86