Limbo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ToString.h
Go to the documentation of this file.
1 
8 #ifndef _LIMBO_STRING_TOSTRING
9 #define _LIMBO_STRING_TOSTRING
10 
11 #include <string>
12 #include <cstdio>
13 #include <limits>
14 
16 namespace limbo
17 {
18 
19 using std::string;
20 
24 inline string to_string(int val)
25 {
26  char a[sizeof(int)<<2];
27  sprintf(a, "%d", val);
28  return string(a);
29 }
33 inline string to_string(long val)
34 {
35  char a[sizeof(long)<<2];
36  sprintf(a, "%ld", val);
37  return string(a);
38 }
42 inline string to_string(long long val)
43 {
44  char a[sizeof(long long)<<2];
45  sprintf(a, "%lld", val);
46  return string(a);
47 }
51 inline string to_string(unsigned int val)
52 {
53  char a[sizeof(unsigned int)<<2];
54  sprintf(a, "%u", val);
55  return string(a);
56 }
60 inline string to_string(unsigned long val)
61 {
62  char a[sizeof(unsigned long)<<2];
63  sprintf(a, "%lu", val);
64  return string(a);
65 }
69 inline string to_string(unsigned long long val)
70 {
71  char a[sizeof(unsigned long long)<<2];
72  sprintf(a, "%llu", val);
73  return string(a);
74 }
78 inline string to_string(float val)
79 {
80  if (val != val) return string("nan");
81  char a[std::numeric_limits<float>::max_exponent10+20];
82  sprintf(a, "%g", val);
83  return string(a);
84 }
88 inline string to_string(double val)
89 {
90  if (val != val) return string("nan");
91  char a[std::numeric_limits<double>::max_exponent10+20];
92  sprintf(a, "%g", val);
93  return string(a);
94 }
98 inline string to_string(long double val)
99 {
100  if (val != val) return string("nan");
101  char a[std::numeric_limits<long double>::max_exponent10+20];
102  sprintf(a, "%Lf", val);
103  return string(a);
104 }
105 
106 } // namespace limbo
107 
108 #endif
string to_string(int val)
convert integer to string
Definition: ToString.h:24
namespace for Limbo
Definition: GraphUtility.h:22