acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
to_integer.h
1#pragma once
2
3//CLASS_DECL_ACME ::i32 ansi_to_int(const_char_pointer sz, const_char_pointer *pszEnd, ::i32 iBase);
4//CLASS_DECL_ACME ::i32 ansi_to_int(const_char_pointer sz, const_char_pointer *pszEnd);
5//CLASS_DECL_ACME ::i32 ansi_to_int(const_char_pointer sz, ::i32 iOnNull = 0);
6
7//CLASS_DECL_ACME ::u32 ansi_to_u32(const_char_pointer sz, const_char_pointer *pszEnd, ::i32 iBase);
8//CLASS_DECL_ACME ::u32 ansi_to_u32(const_char_pointer sz, const_char_pointer *pszEnd);
9//CLASS_DECL_ACME ::u32 ansi_to_u32(const_char_pointer sz);
10
11//CLASS_DECL_ACME ::i32 ansi_count_to_i64(const_char_pointer sz, const_char_pointer *pszEnd, ::i32 iBase, size_t iLen);
12//CLASS_DECL_ACME ::i32 ansi_count_to_i64(const_char_pointer sz, const_char_pointer *pszEnd, size_t iLen);
13//CLASS_DECL_ACME ::i32 ansi_count_to_i64(const_char_pointer sz, size_t iLen);
14
15
16//#define atoint_dup(...) ansi_to_int(__VA_ARGS__)
17//#define atouint_dup(...) ansi_to_u32(__VA_ARGS__)
18//#define ntouint_dup(...) ntoui_dup(__VA_ARGS__)
19
20
21
22//CLASS_DECL_ACME ::i32 wtoi_dup(const wide_character * sz);
23//CLASS_DECL_ACME ::i32 nwtoi_dup(const wide_character * sz, ::i32 iCount);
24
25
26
27//CLASS_DECL_ACME ::i64 ansi_to_i64(const_char_pointer sz, char_pointer * pszEnd);
28//CLASS_DECL_ACME ::i64 ansi_to_i64(const_char_pointer sz);
29
30
31//CLASS_DECL_ACME ::u64 ansi_to_u64(const_char_pointer sz, char_pointer * pszEnd);
32//CLASS_DECL_ACME ::u64 ansi_to_u64(const_char_pointer sz);
33
34
35//CLASS_DECL_ACME ::i64 ansi_count_to_i64(const_char_pointer sz, char_pointer * pszEnd, size_t iLen);
36//CLASS_DECL_ACME ::i64 ansi_count_to_i64(const_char_pointer sz, size_t iLen);
37
38
39#define ansi_to_iptr __END_OSBIT(ansi_to_i)
40#define ansi_to_uptr __END_OSBIT(ansi_to_u)
41#define ansi_count_to_iptr(...) __END_OSBIT(ansi_count_to_i)
42
43
44#define wide_to_iptr __END_OSBIT(wide_to_i)
45#define wide_to_uptr __END_OSBIT(wide_to_u)
46#define wide_count_to_iptr(...) __END_OSBIT(wide_count_to_i)
47
48
49//#if defined(LINUX)
50//
51//#define _strtoi64 ansi_to_i64
52//
53//#endif
54
55
56//CLASS_DECL_ACME ::i64 wide_to_i64(const wide_character * sz, const wide_character * * pszEnd, ::i32 iBase);
57//CLASS_DECL_ACME ::i64 wide_to_i64(const wide_character * sz, const wide_character * * pszEnd);
58//CLASS_DECL_ACME ::i64 wide_to_i64(const wide_character * sz);
59
60
61#ifdef __cplusplus
62
63inline void ansi_to(::u32 & u, const_char_pointer psz) { u = ansi_to_u32(scopedstr); }
64inline void ansi_to(::u64 & u, const_char_pointer psz) { u = ansi_to_u64(scopedstr); }
65//inline void ansi_to(uptr & u, const_char_pointer psz) { u = ansi_to_uptr(scopedstr); }
66
67inline void wide_to(::u32 & u, const ::wide_character * psz) { u = wide_to_u32(scopedstr); }
68inline void wide_to(::u64 & u, const ::wide_character * psz) { u = wide_to_u64(scopedstr); }
69//inline void wide_to(uptr & u, const ::wide_character * psz) { u = wide_to_uptr(scopedstr); }
70
71#endif