.. versionadded:: 3.3
+ The structure of a particular object can be determined using the following
+ macros.
+ The macros cannot fail; their behavior is undefined if their argument
+ is not a Python Unicode object.
+
+ .. c:namespace:: NULL
+
+ .. c:macro:: PyUnicode_IS_COMPACT(o)
+
+ True if *o* uses the :c:struct:`PyCompactUnicodeObject` structure.
+
+ .. versionadded:: 3.3
+
+
+ .. c:macro:: PyUnicode_IS_COMPACT_ASCII(o)
+
+ True if *o* uses the :c:struct:`PyASCIIObject` structure.
+
+ .. versionadded:: 3.3
+
+
The following APIs are C macros and static inlined functions for fast checks and
access to internal read-only data of Unicode objects: