mirror of
https://github.com/QuantumLeaps/qpcpp.git
synced 2025-01-14 05:42:57 +08:00
46 lines
2.1 KiB
C
46 lines
2.1 KiB
C
/**
|
|
* \file
|
|
* \brief Exact-width integer types. WG14/N843 C99 Standard, Section 7.18
|
|
*
|
|
* \description
|
|
* This header is part of the ANSI C99 standard library to define the
|
|
* standard exact-width integer types (see C99 Section 7.18.1.1).
|
|
* If the compiler does not provide the stdint.h header file, you can
|
|
* either create one in the QP port directory, or you can typedef the
|
|
* 8 exact-width integer types directly in the qep_port.h header file.
|
|
*
|
|
* \note The version included in the QP documentation contains only the 8
|
|
* exact-width types actually used in QP. The actual definition of the
|
|
* exact-width integer types is platform dependent.
|
|
*/
|
|
#ifndef stdint_h
|
|
#define stdint_h
|
|
|
|
/*lint -save */
|
|
/*lint -e1960 */ /* MISRA-C++:2008 Rule 17-0-2, Re-use of C++ identifier */
|
|
/*lint -e9141 */ /* MISRA-C++:2008 Rule 7-3-1, global declaration of symbol */
|
|
|
|
/* Exact-width types. WG14/N843 C99 Standard, Section 7.18.1.1 */
|
|
typedef signed char int8_t; /*!< exact-width 8-bit signed int */
|
|
typedef signed short int16_t; /*!< exact-width 16-bit signed int */
|
|
typedef signed long int32_t; /*!< exact-width 32-bit signed int */
|
|
typedef signed long long int64_t; /*!< exact-width 64-bit signed int */
|
|
|
|
typedef unsigned char uint8_t; /*!< exact-width 8-bit unsigned int */
|
|
typedef unsigned short uint16_t; /*!< exact-width 16-bit unsigned int */
|
|
typedef unsigned long uint32_t; /*!< exact-width 32-bit unsigned int */
|
|
typedef unsigned long long uint64_t; /*!< exact-width 64-bit unsigned int */
|
|
|
|
/* Fastest minimum-width types. WG14/N843 C99 Standard, Section 7.18.1.3 */
|
|
typedef signed int int_fast8_t; /*!< fast at-least 8-bit signed int */
|
|
typedef unsigned int uint_fast8_t; /*!< fast at-least 8-bit unsigned int */
|
|
typedef signed int int_fast16_t; /*!< fast at-least 16-bit signed int */
|
|
typedef unsigned int uint_fast16_t; /*!< fast at-least 16-bit unsigned int */
|
|
typedef signed long int_fast32_t; /*!< fast at-least 32-bit signed int */
|
|
typedef unsigned long uint_fast32_t; /*!< fast at-least 32-bit unsigned int */
|
|
|
|
/*lint -restore */
|
|
|
|
#endif /* stdint_h */
|
|
|