xtd 0.2.0
Loading...
Searching...
No Matches
value_types.h
Go to the documentation of this file.
1
4#pragma once
6#if !defined(__XTD_VALUE_TYPE_NATIVE__)
7#error "Do not include this file: Internal use only"
8#endif
10
11#include <cstdint>
12
13#if defined(_LP64) && !defined(__APPLE__) && (defined(_POSIX_VERSION) || defined(__ANDROID__) || defined(__CYGWIN__) || defined(__linux__) || defined(__MSYS__) || defined(__unix__))
16using __slong__ = signed long long int; // Workaround : On Linux and Unix 64 bits unfortunately 'int64_t' is an alias on 'long' and not on 'long long int' as other platforms. In order to avoid conflicts in operator or method overloads, it is necessary to give the type that is not taken into account.
19using __ulong__ = unsigned long long int; // Workaround : On Linux and Unix 64 bits unfortunately 'uint64_t' is an alias on 'unigned long' and not on 'unsigned long long int' as other platforms. In order to avoid conflicts in operator or method overloads, it is necessary to give the type that is not taken into account.
20#else
23using __slong__ = signed long; // Workaround : On linux 64 bits unfortunately 'int64_t' is an alias on 'long' and not on 'long long int' as other platforms. In order to avoid conflicts in operator or method overloads, it is necessary to give the type that is not taken into account.
26using __ulong__ = unsigned long; // Workaround : On linux 64 bits unfortunately 'uint64_t' is an alias on 'unigned long' and not on 'unsigned long long int' as other platforms. In order to avoid conflicts in operator or method overloads, it is necessary to give the type that is not taken into account.
27#endif
unsigned long __ulong__
Represents a 32-bit or 64-bit unsigned integer.
Definition value_types.h:26
signed long __slong__
Represents a 32-bit or 64-bit signed integer.
Definition value_types.h:23