ICU 76.1: common/unicode/ptypes.h Source File

ICU 76.1 76.1

ptypes.h
Go to the documentation of this file.
1// © 2016 and later: Unicode, Inc. and others.
2// License & terms of use: http://www.unicode.org/copyright.html
3/*
4******************************************************************************
5*
6* Copyright (C) 1997-2012, International Business Machines
7* Corporation and others. All Rights Reserved.
8*
9******************************************************************************
10*
11* FILE NAME : ptypes.h
12*
13* Date Name Description
14* 05/13/98 nos Creation (content moved here from ptypes.h).
15* 03/02/99 stephen Added AS400 support.
16* 03/30/99 stephen Added Linux support.
17* 04/13/99 stephen Reworked for autoconf.
18* 09/18/08 srl Moved basic types back to ptypes.h from platform.h
19******************************************************************************
20*/
21
27#ifndef _PTYPES_H
28#define _PTYPES_H
29
38#ifndef __STDC_LIMIT_MACROS
39#define __STDC_LIMIT_MACROS
40#endif
41
42/* NULL, size_t, wchar_t */
43#include <stddef.h>
44
45/* More platform-specific definitions. */
46#include "unicode/platform.h"
47
48/*===========================================================================*/
49/* Generic data types */
50/*===========================================================================*/
51
52#include <stdint.h>
53
54// C++11 and C11 both specify that the data type char16_t should exist, C++11
55// as a keyword and C11 as a typedef in the uchar.h header file, but not all
56// implementations (looking at you, Apple, spring 2024) actually do this, so
57// ICU4C must detect and deal with that.
58#if !defined(__cplusplus) && !defined(U_IN_DOXYGEN)
59# if U_HAVE_CHAR16_T
60# include <uchar.h>
61# else
62 typedef uint16_t char16_t;
63# endif
64#endif
65
66#endif /* _PTYPES_H */
platform.h
Basic types for the platform.
uchar.h
C API: Unicode Properties.