00001 #pragma once
00002 #ifndef STRTO_H
00003 #define STRTO_H
00004
00005 #include <stddef.h>
00006 #include <stdint.h>
00007
00008 int8_t strto_int8 (const char *str, size_t len, char **endptr, int base);
00009 int8_t strto_int8_bin (const char *str, size_t len, char **endptr);
00010 int8_t strto_int8_oct (const char *str, size_t len, char **endptr);
00011 int8_t strto_int8_dec (const char *str, size_t len, char **endptr);
00012 int8_t strto_int8_hex (const char *str, size_t len, char **endptr);
00013
00014 uint8_t strto_uint8 (const char *str, size_t len, char **endptr, int base);
00015 uint8_t strto_uint8_bin (const char *str, size_t len, char **endptr);
00016 uint8_t strto_uint8_oct (const char *str, size_t len, char **endptr);
00017 uint8_t strto_uint8_dec (const char *str, size_t len, char **endptr);
00018 uint8_t strto_uint8_hex (const char *str, size_t len, char **endptr);
00019
00020 int16_t strto_int16 (const char *str, size_t len, char **endptr, int base);
00021 int16_t strto_int16_bin (const char *str, size_t len, char **endptr);
00022 int16_t strto_int16_oct (const char *str, size_t len, char **endptr);
00023 int16_t strto_int16_dec (const char *str, size_t len, char **endptr);
00024 int16_t strto_int16_hex (const char *str, size_t len, char **endptr);
00025
00026 uint16_t strto_uint16 (const char *str, size_t len, char **endptr, int base);
00027 uint16_t strto_uint16_bin (const char *str, size_t len, char **endptr);
00028 uint16_t strto_uint16_oct (const char *str, size_t len, char **endptr);
00029 uint16_t strto_uint16_dec (const char *str, size_t len, char **endptr);
00030 uint16_t strto_uint16_hex (const char *str, size_t len, char **endptr);
00031
00032 int32_t strto_int32 (const char *str, size_t len, char **endptr, int base);
00033 int32_t strto_int32_bin (const char *str, size_t len, char **endptr);
00034 int32_t strto_int32_oct (const char *str, size_t len, char **endptr);
00035 int32_t strto_int32_dec (const char *str, size_t len, char **endptr);
00036 int32_t strto_int32_hex (const char *str, size_t len, char **endptr);
00037
00038 uint32_t strto_uint32 (const char *str, size_t len, char **endptr, int base);
00039 uint32_t strto_uint32_bin (const char *str, size_t len, char **endptr);
00040 uint32_t strto_uint32_oct (const char *str, size_t len, char **endptr);
00041 uint32_t strto_uint32_dec (const char *str, size_t len, char **endptr);
00042 uint32_t strto_uint32_hex (const char *str, size_t len, char **endptr);
00043
00044 int64_t strto_int64 (const char *str, size_t len, char **endptr, int base);
00045 int64_t strto_int64_bin (const char *str, size_t len, char **endptr);
00046 int64_t strto_int64_oct (const char *str, size_t len, char **endptr);
00047 int64_t strto_int64_dec (const char *str, size_t len, char **endptr);
00048 int64_t strto_int64_hex (const char *str, size_t len, char **endptr);
00049
00050 uint64_t strto_uint64 (const char *str, size_t len, char **endptr, int base);
00051 uint64_t strto_uint64_bin (const char *str, size_t len, char **endptr);
00052 uint64_t strto_uint64_oct (const char *str, size_t len, char **endptr);
00053 uint64_t strto_uint64_dec (const char *str, size_t len, char **endptr);
00054 uint64_t strto_uint64_hex (const char *str, size_t len, char **endptr);
00055
00056 intmax_t strto_intmax (const char *str, size_t len, char **endptr, int base);
00057 intmax_t strto_intmax_bin (const char *str, size_t len, char **endptr);
00058 intmax_t strto_intmax_oct (const char *str, size_t len, char **endptr);
00059 intmax_t strto_intmax_dec (const char *str, size_t len, char **endptr);
00060 intmax_t strto_intmax_hex (const char *str, size_t len, char **endptr);
00061
00062 double strto_double (const char *str, size_t len, char **endptr);
00063
00064 #endif