
Concrete Objects Layer
**********************

The functions in this chapter are specific to certain Python object
types. Passing them an object of the wrong type is not a good idea; if
you receive an object from a Python program and you are not sure that
it has the right type, you must perform a type check first; for
example, to check that an object is a dictionary, use
"PyDict_Check()".  The chapter is structured like the "family tree" of
Python object types.

Warning: While the functions described in this chapter carefully
  check the type of the objects which are passed in, many of them do
  not check for *NULL* being passed instead of a valid object.
  Allowing *NULL* to be passed in can cause memory access violations
  and immediate termination of the interpreter.


Fundamental Objects
===================

This section describes Python type objects and the singleton object
"None".

* Type Objects

* The None Object


Numeric Objects
===============

* Plain Integer Objects

* Boolean Objects

* Long Integer Objects

* Floating Point Objects

* Complex Number Objects

  * Complex Numbers as C Structures

  * Complex Numbers as Python Objects


Sequence Objects
================

Generic operations on sequence objects were discussed in the previous
chapter; this section deals with the specific kinds of sequence
objects that are intrinsic to the Python language.

* Byte Array Objects

  * Type check macros

  * Direct API functions

  * Macros

* String/Bytes Objects

* Unicode Objects and Codecs

  * Unicode Objects

    * Unicode Type

    * Unicode Character Properties

    * Plain Py_UNICODE

    * wchar_t Support

  * Built-in Codecs

    * Generic Codecs

    * UTF-8 Codecs

    * UTF-32 Codecs

    * UTF-16 Codecs

    * UTF-7 Codecs

    * Unicode-Escape Codecs

    * Raw-Unicode-Escape Codecs

    * Latin-1 Codecs

    * ASCII Codecs

    * Character Map Codecs

    * MBCS codecs for Windows

    * Methods & Slots

  * Methods and Slot Functions

* Buffers and Memoryview Objects

  * The new-style Py_buffer struct

  * Buffer related functions

  * MemoryView objects

  * Old-style buffer objects

* Tuple Objects

* List Objects


Mapping Objects
===============

* Dictionary Objects


Other Objects
=============

* Class and Instance Objects

* Function Objects

* Method Objects

* File Objects

* Module Objects

* Iterator Objects

* Descriptor Objects

* Slice Objects

* Weak Reference Objects

* Capsules

* CObjects

* Cell Objects

* Generator Objects

* DateTime Objects

* Set Objects

* Code Objects
