Limbo 3.5.4
Loading...
Searching...
No Matches
ToString.h
Go to the documentation of this file.
1
7
8#ifndef _LIMBO_STRING_TOSTRING
9#define _LIMBO_STRING_TOSTRING
10
11#include <string>
12#include <cstdio>
13#include <limits>
14
16namespace limbo
17{
18
19using std::string;
20
24inline string to_string(int val)
25{
26 char a[sizeof(int)<<2];
27 sprintf(a, "%d", val);
28 return string(a);
29}
30
33inline string to_string(long val)
34{
35 char a[sizeof(long)<<2];
36 sprintf(a, "%ld", val);
37 return string(a);
38}
39
42inline string to_string(long long val)
43{
44 char a[sizeof(long long)<<2];
45 sprintf(a, "%lld", val);
46 return string(a);
47}
48
51inline string to_string(unsigned int val)
52{
53 char a[sizeof(unsigned int)<<2];
54 sprintf(a, "%u", val);
55 return string(a);
56}
57
60inline string to_string(unsigned long val)
61{
62 char a[sizeof(unsigned long)<<2];
63 sprintf(a, "%lu", val);
64 return string(a);
65}
66
69inline 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}
75
78inline 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}
85
88inline 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}
95
98inline 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
namespace for Limbo
string to_string(int val)
convert integer to string
Definition ToString.h:24