]> git.donarmstrong.com Git - lilypond.git/blob - flower/include/string-convert.hh
1e9da716ef99671ff30a55d299aa49fab02e511a
[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 "std-string.hh"
13 #include "string.hh"
14
15 /** The functor Std_string_convert handles all conversions to/from Std_string
16     (some time, anyway).  The class is quite empty from data view.  */
17 class String_convert
18 {
19   static int hex2bin (Std_string hex_string, Std_string &bin_string_r);
20   static int hex2nibble (Byte byte);
21   static Byte nibble2hex_byte (Byte byte);
22 public:
23   static Std_string pad_to (Std_string s, int length);
24   static Std_string bool_string (bool b);
25   static Std_string bin2dec (Std_string bin_string);
26   static Std_string bin2hex (Std_string bin_string);
27   static Std_string dec2bin (Std_string str);
28   static int bin2int (Std_string bin_string);
29   static unsigned bin2unsigned (Std_string bin_string);
30   static Std_string char_string (char c, int n);
31   static int dec2int (Std_string dec_string);
32   static double dec2double (Std_string dec_string);
33   static Std_string double_string (double f, char const *fmt = 0);
34   static Std_string form_string (char const *format, ...);
35   static Std_string vform_string (char const *format, va_list args);
36   static int hex2int (Std_string str);
37   static unsigned hex2unsigned (Std_string str);
38   static Std_string hex2bin (Std_string str);
39   static Std_string int_string (int i, char const *fmt = 0);
40   static Std_string long_string (long);
41   static Std_string int2hex (int i, int length_i, char ch);
42   static Std_string unsigned2hex (unsigned u, ssize length, char ch);
43   static Std_string int2dec (int i, int length_i, char ch);
44   static Std_string rational_string (Rational);
45   static Std_string pointer_string (void const *);
46   static Std_string precision_string (double x, int n);
47   static Array<Std_string> split (Std_string str, char c);
48   static Std_string i64_string (I64, char const *fmt = 0);
49 };
50
51 #endif // __STRING_CONVERT_HH //