/*
PROJECT: FlowerSoft C++ library
FILE : string-convert.hh
-
*/
#ifndef STRING_CONVERT_HH
#define STRING_CONVERT_HH
-#include <stdarg.h>
-#include "fproto.hh"
-#include "string.hh"
+#include <cstdarg>
+using namespace std;
+#include "flower-proto.hh"
+#include "std-string.hh"
-/** The functor String_convert handles all conversions to/from String
- (some time, anyway). The class is quite empty from data view. */
-class String_convert {
- static int hex2bin_i (String hex_str, String& bin_str_r);
- static int hex2nibble_i (Byte byte);
- static Byte nibble2hex_byte (Byte byte);
+/** The functor string_convert handles all conversions to/from string
+ (some time, anyway). The class is quite empty from data view. */
+class String_convert
+{
+ static int hex2bin (string hex_string, string &bin_string_r);
+ static int hex2nibble (Byte byte);
+ static Byte nibble2hex_byte (Byte byte);
public:
- static String bool_str (bool b);
- static String bin2dec_str (String bin_str);
- static String bin2hex_str (String bin_str);
- static String dec2bin_str (String str);
- static int bin2_i (String bin_str);
- static unsigned bin2_u (String bin_str);
- static String char_str (char c, int n);
- static int dec2_i (String dec_str);
- static double dec2_f (String dec_str);
- static String double_str (double f, char const* fmt=0);
- static String form_str (char const* format, ...);
- static String vform_str (char const* format, va_list args);
- static int hex2_i (String str);
- static unsigned hex2_u (String str);
- static String hex2bin_str (String str);
- static String int_str (int i, char const *fmt=0 );
- static String i2hex_str (int i, int length_i, char ch);
- static String u2hex_str (unsigned u, int length_i, char ch);
- static String i2dec_str (int i, int length_i, char ch);
- static String rational_str (Rational);
- static String pointer_str (void const *);
- static String precision_str (double x, int n);
- static Array<String> split_arr (String str, char c);
- static String i64_str (I64, char const * fmt = 0);
+ static string pad_to (const string &s, size_t length);
+ static string bool_string (bool b);
+ static string bin2hex (Byte bin_char);
+ static string bin2hex (const string &bin_string);
+ static int bin2int (const string &bin_string);
+ static unsigned bin2unsigned (const string &bin_string);
+ static string char_string (char c, int n);
+ static int dec2int (const string &dec_string);
+ static double dec2double (const string &dec_string);
+ static string double_string (double f, char const *fmt = 0);
+ static string form_string (char const *format, ...) __attribute__ ((format (printf, 1, 2)));
+ static string vform_string (char const *format, va_list args);
+ static string hex2bin (const string &str);
+ static string int_string (int i, char const *fmt = 0);
+ static string unsigned_string (unsigned);
+ static string unsigned_long_string (unsigned long);
+ static string long_string (long);
+ static string int2hex (int i, size_t length_i, char ch);
+ static string unsigned2hex (unsigned u, size_t length, char ch);
+ static string int2dec (int i, size_t length_i, char ch);
+ static string rational_string (Rational);
+ static string pointer_string (void const *);
+ static string precision_string (double x, int n);
+ static string i64_string (I64, char const *fmt = 0);
+ static string to_lower (string s);
+ static string to_upper (string s);
+ static string reverse (string s);
};
#endif // __STRING_CONVERT_HH //