tetl
0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
builtin_types.hpp
Go to the documentation of this file.
1
// SPDX-License-Identifier: BSL-1.0
2
3
#ifndef TETL_CONFIG_BUILTIN_TYPES_HPP
4
#define TETL_CONFIG_BUILTIN_TYPES_HPP
5
6
#if defined(TETL_COMPILER_MSVC)
7
#define TETL_BUILTIN_INT8 signed __int8
8
#define TETL_BUILTIN_INT16 signed __int16
9
#define TETL_BUILTIN_INT32 signed __int32
10
#define TETL_BUILTIN_INT64 signed __int64
11
#define TETL_BUILTIN_UINT8 unsigned __int8
12
#define TETL_BUILTIN_UINT16 unsigned __int16
13
#define TETL_BUILTIN_UINT32 unsigned __int32
14
#define TETL_BUILTIN_UINT64 unsigned __int64
15
16
#define TETL_BUILTIN_INTPTR TETL_BUILTIN_INT64
17
#define TETL_BUILTIN_UINTPTR TETL_BUILTIN_UINT64
18
#define TETL_BUILTIN_INTMAX TETL_BUILTIN_INT64
19
#define TETL_BUILTIN_UINTMAX TETL_BUILTIN_UINT64
20
#define TETL_BUILTIN_SIZET decltype(sizeof(nullptr))
21
#define TETL_BUILTIN_PTRDIFF TETL_BUILTIN_INT64
22
#else
23
#define TETL_BUILTIN_INT8 __INT8_TYPE__
24
#define TETL_BUILTIN_INT16 __INT16_TYPE__
25
#define TETL_BUILTIN_INT32 __INT32_TYPE__
26
#define TETL_BUILTIN_INT64 __INT64_TYPE__
27
#define TETL_BUILTIN_UINT8 __UINT8_TYPE__
28
#define TETL_BUILTIN_UINT16 __UINT16_TYPE__
29
#define TETL_BUILTIN_UINT32 __UINT32_TYPE__
30
#define TETL_BUILTIN_UINT64 __UINT64_TYPE__
31
32
#define TETL_BUILTIN_INTPTR __INTPTR_TYPE__
33
#define TETL_BUILTIN_UINTPTR __UINTPTR_TYPE__
34
#define TETL_BUILTIN_INTMAX __INTMAX_TYPE__
35
#define TETL_BUILTIN_UINTMAX __UINTMAX_TYPE__
36
#define TETL_BUILTIN_SIZET __SIZE_TYPE__
37
#define TETL_BUILTIN_PTRDIFF __PTRDIFF_TYPE__
38
#endif
39
40
#if !defined(TETL_WCHAR_MIN)
41
#if defined(__WCHAR_MIN__)
42
#define TETL_WCHAR_MIN __WCHAR_MIN__
43
#elif defined(__WCHAR_UNSIGNED__) || (L'\0' - 1 > 0)
44
#define TETL_WCHAR_MIN (0 + L'\0')
45
#else
46
#define TETL_WCHAR_MIN (-0x7fffffff - 1 + L'\0')
47
#endif
48
#endif
// TETL_WCHAR_MIN
49
50
#if !defined(TETL_WCHAR_MAX)
51
#if defined(__WCHAR_MAX__)
52
#define TETL_WCHAR_MAX __WCHAR_MAX__
53
#elif defined(__WCHAR_UNSIGNED__) || (L'\0' - 1 > 0)
54
#define TETL_WCHAR_MAX (0xffffffffu + L'\0')
55
#else
56
#define TETL_WCHAR_MAX (0x7fffffff + L'\0')
57
#endif
58
#endif
// TETL_WCHAR_MAX
59
60
#endif
// TETL_CONFIG_BUILTIN_TYPES_HPP
include
etl
_config
builtin_types.hpp
Generated on Sat Mar 8 2025 16:19:59 for tetl by
1.14.0