StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
TxUCMUtils.h
1 #ifndef __TX_UCM_UTILS__
2 #define __TX_UCM_UTILS__
3 
4 #include <string>
5 
6 namespace TxUCMUtils {
14  inline std::string trimString (std::string& str) {
15  std::string::size_type pos = str.find_last_not_of (' ');
16  if (pos != std::string::npos) {
17  str.erase (pos + 1);
18  pos = str.find_first_not_of (' ');
19  if (pos != std::string::npos) str.erase (0, pos);
20  }
21  else str.erase (str.begin(), str.end());
22 
23  return str;
24  }
25 
32  inline std::string itoa (int integer) {
33  std::ostringstream str;
34  str << integer;
35  return str.str ().c_str ();
36  }
37 
45  inline const char* getEnv (const char* variable) {
46  return (getenv (variable) ? getenv (variable) : "orphan");
47  }
48 
55  inline const char* getTimeStamp () {
56  time_t ltime; /* calendar time */
57  struct tm *tm;
58 
59  ltime = time (NULL); /* get current cal time */
60  tm = gmtime(&ltime);
61 
62  std::string ts = "";
63  std::ostringstream date;
64  date << (tm->tm_year + 1900);
65  date << "-";
66  if (tm->tm_mon < 9) {
67  date << "0";
68  }
69  date << (tm->tm_mon + 1);
70  date << "-";
71  if (tm->tm_mday < 10) {
72  date << "0";
73  }
74  date << tm->tm_mday;
75  ts += date.str ();
76  ts += " ";
77 
78  std::ostringstream time;
79  if (tm->tm_hour < 10) {
80  time << "0";
81  }
82  time << tm->tm_hour;
83  time << "-";
84  if (tm->tm_min < 10) {
85  time << "0";
86  }
87  time << tm->tm_min;
88  time << "-";
89  if (tm->tm_sec < 10) {
90  time << "0";
91  }
92  time << tm->tm_sec;
93  ts += time.str ();
94 
95  return ts.c_str ();
96  }
97 
98 }
99 
100 #endif