]> git.donarmstrong.com Git - lilypond.git/blob - flower/include/string-convert.hh
d7dcb1fef35ba3ddcd2da171084117ff694f3590
[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 "flower-proto.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 pad_to (String s, int length);
23   static String bool_str (bool b);
24   static String bin2dec_str (String bin_str);
25   static String bin2hex_str (String bin_str);
26   static String dec2bin_str (String str);
27   static int bin2_i (String bin_str);
28   static unsigned bin2_u (String bin_str);
29   static String char_str (char c, int n);
30   static int dec2_i (String dec_str);
31   static double dec2_f (String dec_str);
32   static String double_str (double f, char const* fmt=0);
33   static String form_str (char const* format, ...);
34   static String vform_str (char const* format, va_list args);
35   static int hex2_i (String str);
36   static unsigned hex2_u (String str);
37   static String hex2bin_str (String str);
38   static String int_str (int i, char const *fmt=0 );
39   static String long_str (long);
40   static String i2hex_str (int i, int length_i, char ch);
41   static String u2hex_str (unsigned u, int length_i, char ch);
42   static String i2dec_str (int i, int length_i, char ch);
43   static String rational_str (Rational);
44   static String pointer_str (void const *);
45   static String precision_str (double x, int n);
46   static Array<String> split_arr (String str, char c);
47   static String i64_str (I64, char const * fmt = 0);
48 };
49
50 #endif // __STRING_CONVERT_HH //