]> git.donarmstrong.com Git - lilypond.git/blob - flower/include/string-convert.hh
release: 1.0.1
[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 i2hex_str (int i, int length_i, char ch);
39     static String u2hex_str (unsigned u, int length_i, char ch);
40     static String i2dec_str (int i, int length_i, char ch);
41     static String rational_str (Rational);
42     static String pointer_str (void const *);
43     static String precision_str (double x, int n);
44     static Array<String> split_arr (String str, char c);
45     static String i64_str (I64, char const * fmt = 0);
46 };
47
48 #endif // __STRING_CONVERT_HH //