]> git.donarmstrong.com Git - lilypond.git/blob - flower/include/string-convert.hh
Merge branch 'jneeman' of git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond into jneeman
[lilypond.git] / flower / include / string-convert.hh
1 /*
2   PROJECT: FlowerSoft C++ library
3   FILE   : string-convert.hh
4 */
5
6 #ifndef STRING_CONVERT_HH
7 #define STRING_CONVERT_HH
8
9 #include <cstdarg>
10 using namespace std;
11
12 #include "flower-proto.hh"
13
14 /** The functor string_convert handles all conversions to/from string
15     (some time, anyway).  The class is quite empty from data view.  */
16 class String_convert
17 {
18   static int hex2bin (string hex_string, string &bin_string_r);
19   static int hex2nibble (Byte byte);
20   static Byte nibble2hex_byte (Byte byte);
21 public:
22   static string pad_to (string s, int length);
23   static string bool_string (bool b);
24   static string bin2dec (string bin_string);
25   static string bin2hex (string bin_string);
26   static string dec2bin (string str);
27   static int bin2int (string bin_string);
28   static unsigned bin2unsigned (string bin_string);
29   static string char_string (char c, int n);
30   static int dec2int (string dec_string);
31   static double dec2double (string dec_string);
32   static string double_string (double f, char const *fmt = 0);
33   static string form_string (char const *format, ...) __attribute__ ((format (printf, 1,2)));
34   static string vform_string (char const *format, va_list args);
35   static int hex2int (string str);
36   static unsigned hex2unsigned (string str);
37   static string hex2bin (string str);
38   static string int_string (int i, char const *fmt = 0);
39   static string unsigned_string (unsigned);
40   static string long_string (long);
41   static string int2hex (int i, int length_i, char ch);
42   static string unsigned2hex (unsigned u, ssize length, char ch);
43   static string int2dec (int i, int length_i, char ch);
44   static string rational_string (Rational);
45   static string pointer_string (void const *);
46   static string precision_string (double x, int n);
47   //  static vector<string> split (string str, char c);
48   static string i64_string (I64, char const *fmt = 0);
49   static string to_lower (string s);
50   static string to_upper (string s);
51   static string reverse (string s);
52 };
53
54 #endif // __STRING_CONVERT_HH //