4 * Copyright 2006,2007 Martin Quinson, Malek Cherier
\r
5 * All right reserved.
\r
7 * This program is free software; you can redistribute
\r
8 * it and/or modify it under the terms of the license
\r
9 *(GNU LGPL) which comes with this package.
\r
13 #ifndef STRING_HELPER_HPP
\r
14 #define STRING_HELPER_HPP
\r
17 #error StringHelper.hpp requires C++ compilation (use a .cxx suffix)
\r
27 #include <Config.hpp>
\r
29 // namespace SimGrid::Msg
\r
34 class SIMGRIDX_EXPORT StringHelper
\r
38 // Default constructor
\r
41 StringHelper(unsigned char c);
\r
43 StringHelper(unsigned char c, int n);
\r
45 StringHelper(char c);
\r
47 StringHelper(char c, int n);
\r
49 StringHelper(const char* cstr);
\r
51 StringHelper(const char* cstr, int n);
\r
53 StringHelper(const char* cstr, int pos, int n);
\r
55 StringHelper(const string& rstr);
\r
57 StringHelper(const string& rstr, int n);
\r
59 StringHelper(const string& rstr, int pos, int n);
\r
61 StringHelper(short si);
\r
63 StringHelper(int i);
\r
65 StringHelper(long l);
\r
67 StringHelper(float f);
\r
69 StringHelper(double d);
\r
71 StringHelper(double d, const char* format);
\r
73 StringHelper(unsigned short usi);
\r
75 StringHelper(unsigned int ui);
\r
77 StringHelper(unsigned long ul);
\r
80 StringHelper(const StringHelper& rStringHelper);
\r
87 StringHelper& append(unsigned char c);
\r
89 StringHelper& append(unsigned char c, int n);
\r
91 StringHelper& append(char c);
\r
93 StringHelper& append(char c, int n);
\r
95 StringHelper& append(const char* cstr);
\r
97 StringHelper& append(const char* cstr, int n);
\r
99 StringHelper& append(const char* cstr, int pos, int n);
\r
101 StringHelper& append(const string& rstr);
\r
103 StringHelper& append(const string& rstr, int n);
\r
105 StringHelper& append(const string& rstr, int pos, int n);
\r
107 StringHelper& append(short si);
\r
109 StringHelper& append(int i);
\r
111 StringHelper& append(long l);
\r
113 StringHelper& append(float f);
\r
115 StringHelper& append(double d);
\r
117 StringHelper& append(double d, const char* format);
\r
119 StringHelper& append(unsigned short usi);
\r
121 StringHelper& append(unsigned int ui);
\r
123 StringHelper& append(unsigned long ul);
\r
125 const char& at(int pos) const;
\r
129 const char* cstr(void) const;
\r
131 string& toString(void);
\r
133 int size(void) const;
\r
142 StringHelper& operator = (const StringHelper& rStringHelper);
\r
144 StringHelper& operator = (const char* cstr);
\r
146 StringHelper& operator = (const string& str);
\r
148 StringHelper& operator = (short n);
\r
150 StringHelper& operator = (int n);
\r
152 StringHelper& operator = (long n);
\r
154 StringHelper& operator = (float n);
\r
156 StringHelper& operator = (double n);
\r
158 StringHelper& operator = (unsigned short n);
\r
160 StringHelper& operator = (unsigned int n);
\r
162 StringHelper& operator = (unsigned long n);
\r
164 char& operator[](int pos);
\r
166 char operator[](int pos) const;
\r
168 StringHelper& operator += (short n);
\r
170 StringHelper& operator += (int n);
\r
172 StringHelper& operator += (long n);
\r
174 StringHelper& operator += (float n);
\r
176 StringHelper& operator += (double n);
\r
178 StringHelper& operator += (unsigned short n);
\r
180 StringHelper& operator += (unsigned int n);
\r
182 StringHelper& operator += (unsigned long n);
\r
184 StringHelper& operator += (const StringHelper& rStringHelper);
\r
186 StringHelper& operator += (const string& rstr);
\r
188 StringHelper& operator += (const char* cstr);
\r
190 StringHelper& operator += (char c);
\r
192 StringHelper& operator + (short n);
\r
194 StringHelper& operator + (int n);
\r
196 StringHelper& operator + (long n);
\r
198 StringHelper& operator + (float n);
\r
200 StringHelper& operator + (double n);
\r
202 StringHelper& operator + (unsigned short n);
\r
204 StringHelper& operator + (unsigned int n);
\r
206 StringHelper& operator + (unsigned long n);
\r
208 StringHelper& operator + (const StringHelper& rStringHelper);
\r
210 StringHelper& operator + (const string& rstr);
\r
212 StringHelper& operator + (const char* cstr);
\r
214 StringHelper& operator + (char c);
\r
218 operator const char *();
\r
220 friend SIMGRIDX_EXPORT ostream& operator<<(ostream& stream, const StringHelper& s);
\r
222 friend SIMGRIDX_EXPORT istream& operator<<(istream& stream, StringHelper& s);
\r
236 typedef class StringHelper* StringHelperPtr;
\r
238 #define TEXT_(___x) StringHelper((___x))
\r
242 } // namespace SimGrid
\r
245 #endif // !STRING_HELPER_HPP