56 static inline std::string
_2str(
const E*
const data) {
63 static inline std::string
_2str(
const char*
const data) {
67 return std::string(data);
75 static inline std::string
_2str(
const E*
const data,
unsigned length) {
82 char* buf =
new char[length + 1];
84 for (i = 0; i < length; i++) {
85 if ((
int) data[i] > 255) {
88 buf[i] = (char) data[i];
92 std::string ret = buf;
101 static inline std::string
_2str(
const char*
const data,
unsigned length) {
105 return std::string(data, length);
114 static int _2int(
const E*
const data) {
129 if (data == 0 || data[0] == 0) {
134 if (data[0] ==
'+') {
137 if (data[0] ==
'-') {
142 for (; data[i] != 0; i++) {
145 char akt = (char) data[i];
146 if (akt < '0' || akt >
'9') {
164 if (data == 0 || data[0] == 0) {
169 if (data[0] ==
'+') {
172 if (data[0] ==
'-') {
178 int digits = std::numeric_limits<SUMOLong>::digits10;
180 for (; data[i] != 0 && data[i] !=
'e' && data[i] !=
'E'; i++) {
181 char akt = (char) data[i];
182 if (akt < '0' || akt >
'9') {
183 if (pointPos < 0 && (akt ==
'.' || akt ==
',')) {
191 ret = ret * 10 + akt - 48;
194 int exponent = digits >= 0 ? 0 : -digits;
195 if (pointPos != -1) {
196 exponent += pointPos - i + 1;
200 return ret * sgn * (
SUMOReal) pow(10.0, exponent);
204 return ret * sgn * (
SUMOReal) pow(10.0,
_2int(data + i + 1) + exponent);
222 static bool _2bool(
const E*
const data) {
223 if (data == 0 || data[0] == 0) {
226 std::string s =
_2str(data);
227 std::transform(s.begin(), s.end(), s.begin(), tolower);
228 if (s ==
"1" || s ==
"yes" || s ==
"true" || s ==
"on" || s ==
"x" || s ==
"t") {
230 }
else if (s ==
"0" || s ==
"no" || s ==
"false" || s ==
"off" || s ==
"-" || s ==
"f") {
243 const std::string& def) {
252 static int _2intSec(
const E*
const data,
int def) {
253 if (data == 0 || data[0] == 0) {
265 if (data == 0 || data[0] == 0) {
277 if (data == 0 || data[0] == 0) {
293 if (data == 0 || data[0] == 0) {
304 static std::string
_2strSec(
const E*
const data,
int length,
305 const std::string& def) {
306 if (data == 0 || length == 0) {
309 return _2str(data, length);
320 while (data[i] != 0) {