g4tools
5.4.0
g4tools
tools
tosu
Go to the documentation of this file.
1
// Copyright (C) 2010, Guy Barrand. All rights reserved.
2
// See the file tools.license for terms.
3
4
#ifndef tools_tosu
5
#define tools_tosu
6
7
// have a "sprintf(%u)" without #include.
8
// It is used in platform.
9
10
namespace
tools
{
11
12
inline
void
toss
(
const
char
* a_from,
char
a_s[],
unsigned
int
& a_l) {
13
char
* s = (
char
*)a_from;
14
a_l = 0;
15
char
* pos = a_s;
16
while
(*s) {
17
*pos = *s;pos++;
18
a_l++;
19
s++;
20
}
21
*pos = 0;
22
}
23
24
template
<
class
T>
//T must be an unsigned number type.
25
inline
void
tosu
(T a_i,
char
a_s[],
unsigned
int
& a_l) {
26
//assume a_s is sufficently allocated (32 is ok).
27
a_l = 0;
28
{
char
* pos = a_s;
29
T i = a_i;
30
while
(
true
) {
31
if
(i<=9) {*pos =
'0'
+char(i);pos++;a_l++;*pos=0;pos++;
break
;}
32
T r = i % 10;
33
*pos =
'0'
+char(r);pos++;
34
a_l++;
35
i = i/10;
36
}}
37
//strrev(s);
38
{
unsigned
int
hl = a_l/2;
39
char
* beg = a_s;
40
char
*
end
= a_s+a_l-1;
41
for
(
unsigned
int
i=0;i<hl;i++) {
42
char
c = *
end
;
43
*
end
= *beg;
44
*beg = c;
45
beg++;
end
--;
46
}}
47
}
48
49
}
50
51
#endif
tools::toss
void toss(const char *a_from, char a_s[], unsigned int &a_l)
Definition:
tosu:12
tools
inlined C code : ///////////////////////////////////
Definition:
aida_ntuple:26
tools::tosu
void tosu(T a_i, char a_s[], unsigned int &a_l)
Definition:
tosu:25
tools::waxml::end
void end(std::ostream &a_writer)
Definition:
begend:31
Generated by
1.8.20