]> git.donarmstrong.com Git - lilypond.git/blob - flower/include/string-convert.hh
release: 1.1.39
[lilypond.git] / flower / include / string-convert.hh
1 /*
2   PROJECT: FlowerSoft C++ library
3   FILE   : string-convert.hh
4
5 */
6
7 #ifndef STRING_CONVERT_HH
8 #define STRING_CONVERT_HH
9
10 #include <stdarg.h>
11 #include "fproto.hh"
12 #include "string.hh"
13
14
15 /** The functor String_convert handles all conversions to/from String
16         (some time, anyway).  The class is quite empty from data view.  */
17 class String_convert {
18   static int hex2bin_i (String hex_str, String& bin_str_r);
19   static int hex2nibble_i (Byte byte);
20   static Byte nibble2hex_byte (Byte byte);
21 public:
22   static String bool_str (bool b);
23   static String bin2dec_str (String bin_str);
24   static String bin2hex_str (String bin_str);
25   static String dec2bin_str (String str);
26   static int bin2_i (String bin_str);
27   static unsigned bin2_u (String bin_str);
28   static String char_str (char c, int n);
29   static int dec2_i (String dec_str);
30   static double dec2_f (String dec_str);
31   static String double_str (double f, char const* fmt=0);
32   static String form_str (char const* format, ...);
33   static String vform_str (char const* format, va_list args);
34   static int hex2_i (String str);
35   static unsigned hex2_u (String str);
36   static String hex2bin_str (String str);
37   static String int_str (int i, char const *fmt=0 );
38   static String long_str (long);
39   static String i2hex_str (int i, int length_i, char ch);
40   static String u2hex_str (unsigned u, int length_i, char ch);
41   static String i2dec_str (int i, int length_i, char ch);
42   static String rational_str (Rational);
43   static String pointer_str (void const *);
44   static String precision_str (double x, int n);
45   static Array<String> split_arr (String str, char c);
46   static String i64_str (I64, char const * fmt = 0);
47 };
48
49 #endif // __STRING_CONVERT_HH //