# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2016, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: ../Doc/c-api/structures.rst:6
msgid "Common Object Structures"
msgstr ""

#: ../Doc/c-api/structures.rst:8
msgid ""
"There are a large number of structures which are used in the definition of "
"object types for Python.  This section describes these structures and how "
"they are used."
msgstr ""

#: ../Doc/c-api/structures.rst:12
msgid ""
"All Python objects ultimately share a small number of fields at the "
"beginning of the object's representation in memory.  These are represented "
"by the :c:type:`PyObject` and :c:type:`PyVarObject` types, which are "
"defined, in turn, by the expansions of some macros also used, whether "
"directly or indirectly, in the definition of all other Python objects."
msgstr ""

#: ../Doc/c-api/structures.rst:21
msgid ""
"All object types are extensions of this type.  This is a type which contains "
"the information Python needs to treat a pointer to an object as an object.  "
"In a normal \"release\" build, it contains only the object's reference count "
"and a pointer to the corresponding type object. Nothing is actually declared "
"to be a :c:type:`PyObject`, but every pointer to a Python object can be cast "
"to a :c:type:`PyObject*`.  Access to the members must be done by using the "
"macros :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`."
msgstr ""

#: ../Doc/c-api/structures.rst:33
msgid ""
"This is an extension of :c:type:`PyObject` that adds the :attr:`ob_size` "
"field.  This is only used for objects that have some notion of *length*. "
"This type does not often appear in the Python/C API. Access to the members "
"must be done by using the macros :c:macro:`Py_REFCNT`, :c:macro:`Py_TYPE`, "
"and :c:macro:`Py_SIZE`."
msgstr ""

#: ../Doc/c-api/structures.rst:42
msgid ""
"This is a macro used when declaring new types which represent objects "
"without a varying length.  The PyObject_HEAD macro expands to::"
msgstr ""

#: ../Doc/c-api/structures.rst:47
msgid "See documentation of :c:type:`PyObject` above."
msgstr ""

#: ../Doc/c-api/structures.rst:52
msgid ""
"This is a macro used when declaring new types which represent objects with a "
"length that varies from instance to instance. The PyObject_VAR_HEAD macro "
"expands to::"
msgstr ""

#: ../Doc/c-api/structures.rst:58
msgid "See documentation of :c:type:`PyVarObject` above."
msgstr ""

#: ../Doc/c-api/structures.rst:63
msgid ""
"This macro is used to access the :attr:`ob_type` member of a Python object. "
"It expands to::"
msgstr ""

#: ../Doc/c-api/structures.rst:71
msgid ""
"This macro is used to access the :attr:`ob_refcnt` member of a Python "
"object. It expands to::"
msgstr ""

#: ../Doc/c-api/structures.rst:80
msgid ""
"This macro is used to access the :attr:`ob_size` member of a Python object. "
"It expands to::"
msgstr ""

#: ../Doc/c-api/structures.rst:88
msgid ""
"This is a macro which expands to initialization values for a new :c:type:"
"`PyObject` type.  This macro expands to::"
msgstr ""

#: ../Doc/c-api/structures.rst:97
msgid ""
"This is a macro which expands to initialization values for a new :c:type:"
"`PyVarObject` type, including the :attr:`ob_size` field. This macro expands "
"to::"
msgstr ""

#: ../Doc/c-api/structures.rst:107
msgid ""
"Type of the functions used to implement most Python callables in C. "
"Functions of this type take two :c:type:`PyObject\\*` parameters and return "
"one such value.  If the return value is *NULL*, an exception shall have been "
"set.  If not *NULL*, the return value is interpreted as the return value of "
"the function as exposed in Python.  The function must return a new reference."
msgstr ""

#: ../Doc/c-api/structures.rst:117
msgid ""
"Type of the functions used to implement Python callables in C that take "
"keyword arguments: they take three :c:type:`PyObject\\*` parameters and "
"return one such value.  See :c:type:`PyCFunction` above for the meaning of "
"the return value."
msgstr ""

#: ../Doc/c-api/structures.rst:125
msgid ""
"Structure used to describe a method of an extension type.  This structure "
"has four fields:"
msgstr ""

#: ../Doc/c-api/structures.rst:129 ../Doc/c-api/structures.rst:240
#: ../Doc/c-api/structures.rst:305
msgid "Field"
msgstr ""

#: ../Doc/c-api/structures.rst:129 ../Doc/c-api/structures.rst:240
#: ../Doc/c-api/structures.rst:305
msgid "C Type"
msgstr "Type C"

#: ../Doc/c-api/structures.rst:129 ../Doc/c-api/structures.rst:240
#: ../Doc/c-api/structures.rst:305
msgid "Meaning"
msgstr "Signification"

#: ../Doc/c-api/structures.rst:131
msgid ":attr:`ml_name`"
msgstr ""

#: ../Doc/c-api/structures.rst:131 ../Doc/c-api/structures.rst:139
#: ../Doc/c-api/structures.rst:242 ../Doc/c-api/structures.rst:255
#: ../Doc/c-api/structures.rst:271 ../Doc/c-api/structures.rst:307
#: ../Doc/c-api/structures.rst:315
msgid "char \\*"
msgstr ""

#: ../Doc/c-api/structures.rst:131
msgid "name of the method"
msgstr ""

#: ../Doc/c-api/structures.rst:133
msgid ":attr:`ml_meth`"
msgstr ""

#: ../Doc/c-api/structures.rst:133
msgid "PyCFunction"
msgstr "PyCFunction"

#: ../Doc/c-api/structures.rst:133
msgid "pointer to the C implementation"
msgstr ""

#: ../Doc/c-api/structures.rst:136
msgid ":attr:`ml_flags`"
msgstr ""

#: ../Doc/c-api/structures.rst:136 ../Doc/c-api/structures.rst:244
#: ../Doc/c-api/structures.rst:251 ../Doc/c-api/structures.rst:267
msgid "int"
msgstr "*int*"

#: ../Doc/c-api/structures.rst:136
msgid "flag bits indicating how the call should be constructed"
msgstr ""

#: ../Doc/c-api/structures.rst:139
msgid ":attr:`ml_doc`"
msgstr ""

#: ../Doc/c-api/structures.rst:139 ../Doc/c-api/structures.rst:255
msgid "points to the contents of the docstring"
msgstr ""

#: ../Doc/c-api/structures.rst:143
msgid ""
"The :attr:`ml_meth` is a C function pointer.  The functions may be of "
"different types, but they always return :c:type:`PyObject\\*`.  If the "
"function is not of the :c:type:`PyCFunction`, the compiler will require a "
"cast in the method table. Even though :c:type:`PyCFunction` defines the "
"first parameter as :c:type:`PyObject\\*`, it is common that the method "
"implementation uses the specific C type of the *self* object."
msgstr ""

#: ../Doc/c-api/structures.rst:150
msgid ""
"The :attr:`ml_flags` field is a bitfield which can include the following "
"flags. The individual flags indicate either a calling convention or a "
"binding convention.  Of the calling convention flags, only :const:"
"`METH_VARARGS` and :const:`METH_KEYWORDS` can be combined. Any of the "
"calling convention flags can be combined with a binding flag."
msgstr ""

#: ../Doc/c-api/structures.rst:159
msgid ""
"This is the typical calling convention, where the methods have the type :c:"
"type:`PyCFunction`. The function expects two :c:type:`PyObject\\*` values. "
"The first one is the *self* object for methods; for module functions, it is "
"the module object.  The second parameter (often called *args*) is a tuple "
"object representing all arguments. This parameter is typically processed "
"using :c:func:`PyArg_ParseTuple` or :c:func:`PyArg_UnpackTuple`."
msgstr ""

#: ../Doc/c-api/structures.rst:169
msgid ""
"Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. "
"The function expects three parameters: *self*, *args*, and a dictionary of "
"all the keyword arguments.  The flag must be combined with :const:"
"`METH_VARARGS`, and the parameters are typically processed using :c:func:"
"`PyArg_ParseTupleAndKeywords`."
msgstr ""

#: ../Doc/c-api/structures.rst:178
msgid ""
"Methods without parameters don't need to check whether arguments are given "
"if they are listed with the :const:`METH_NOARGS` flag.  They need to be of "
"type :c:type:`PyCFunction`.  The first parameter is typically named *self* "
"and will hold a reference to the module or object instance.  In all cases "
"the second parameter will be *NULL*."
msgstr ""

#: ../Doc/c-api/structures.rst:187
msgid ""
"Methods with a single object argument can be listed with the :const:`METH_O` "
"flag, instead of invoking :c:func:`PyArg_ParseTuple` with a ``\"O\"`` "
"argument. They have the type :c:type:`PyCFunction`, with the *self* "
"parameter, and a :c:type:`PyObject\\*` parameter representing the single "
"argument."
msgstr ""

#: ../Doc/c-api/structures.rst:193
msgid ""
"These two constants are not used to indicate the calling convention but the "
"binding when use with methods of classes.  These may not be used for "
"functions defined for modules.  At most one of these flags may be set for "
"any given method."
msgstr ""

#: ../Doc/c-api/structures.rst:203
msgid ""
"The method will be passed the type object as the first parameter rather than "
"an instance of the type.  This is used to create *class methods*, similar to "
"what is created when using the :func:`classmethod` built-in function."
msgstr ""

#: ../Doc/c-api/structures.rst:213
msgid ""
"The method will be passed *NULL* as the first parameter rather than an "
"instance of the type.  This is used to create *static methods*, similar to "
"what is created when using the :func:`staticmethod` built-in function."
msgstr ""

#: ../Doc/c-api/structures.rst:217
msgid ""
"One other constant controls whether a method is loaded in place of another "
"definition with the same method name."
msgstr ""

#: ../Doc/c-api/structures.rst:223
msgid ""
"The method will be loaded in place of existing definitions.  Without "
"*METH_COEXIST*, the default is to skip repeated definitions.  Since slot "
"wrappers are loaded before the method table, the existence of a "
"*sq_contains* slot, for example, would generate a wrapped method named :meth:"
"`__contains__` and preclude the loading of a corresponding PyCFunction with "
"the same name.  With the flag defined, the PyCFunction will be loaded in "
"place of the wrapper object and will co-exist with the slot.  This is "
"helpful because calls to PyCFunctions are optimized more than wrapper object "
"calls."
msgstr ""

#: ../Doc/c-api/structures.rst:236
msgid ""
"Structure which describes an attribute of a type which corresponds to a C "
"struct member.  Its fields are:"
msgstr ""

#: ../Doc/c-api/structures.rst:242
msgid ":attr:`name`"
msgstr ""

#: ../Doc/c-api/structures.rst:242
msgid "name of the member"
msgstr ""

#: ../Doc/c-api/structures.rst:244
msgid ":attr:`!type`"
msgstr ""

#: ../Doc/c-api/structures.rst:244
msgid "the type of the member in the C struct"
msgstr ""

#: ../Doc/c-api/structures.rst:247
msgid ":attr:`offset`"
msgstr ""

#: ../Doc/c-api/structures.rst:247 ../Doc/c-api/structures.rst:283
msgid "Py_ssize_t"
msgstr ""

#: ../Doc/c-api/structures.rst:247
msgid ""
"the offset in bytes that the member is located on the type's object struct"
msgstr ""

#: ../Doc/c-api/structures.rst:251
msgid ":attr:`flags`"
msgstr ""

#: ../Doc/c-api/structures.rst:251
msgid "flag bits indicating if the field should be read-only or writable"
msgstr ""

#: ../Doc/c-api/structures.rst:255
msgid ":attr:`doc`"
msgstr ""

#: ../Doc/c-api/structures.rst:259
msgid ""
":attr:`!type` can be one of many ``T_`` macros corresponding to various C "
"types.  When the member is accessed in Python, it will be converted to the "
"equivalent Python type."
msgstr ""

#: ../Doc/c-api/structures.rst:264
msgid "Macro name"
msgstr ""

#: ../Doc/c-api/structures.rst:264
msgid "C type"
msgstr "Type C"

#: ../Doc/c-api/structures.rst:266
msgid "T_SHORT"
msgstr ""

#: ../Doc/c-api/structures.rst:266
msgid "short"
msgstr ""

#: ../Doc/c-api/structures.rst:267
msgid "T_INT"
msgstr ""

#: ../Doc/c-api/structures.rst:268
msgid "T_LONG"
msgstr ""

#: ../Doc/c-api/structures.rst:268
msgid "long"
msgstr ""

#: ../Doc/c-api/structures.rst:269
msgid "T_FLOAT"
msgstr ""

#: ../Doc/c-api/structures.rst:269
msgid "float"
msgstr "float"

#: ../Doc/c-api/structures.rst:270
msgid "T_DOUBLE"
msgstr ""

#: ../Doc/c-api/structures.rst:270
msgid "double"
msgstr "double"

#: ../Doc/c-api/structures.rst:271
msgid "T_STRING"
msgstr ""

#: ../Doc/c-api/structures.rst:272
msgid "T_OBJECT"
msgstr ""

#: ../Doc/c-api/structures.rst:272 ../Doc/c-api/structures.rst:273
msgid "PyObject \\*"
msgstr "PyObject \\*"

#: ../Doc/c-api/structures.rst:273
msgid "T_OBJECT_EX"
msgstr ""

#: ../Doc/c-api/structures.rst:274
msgid "T_CHAR"
msgstr ""

#: ../Doc/c-api/structures.rst:274 ../Doc/c-api/structures.rst:275
#: ../Doc/c-api/structures.rst:280
msgid "char"
msgstr "char"

#: ../Doc/c-api/structures.rst:275
msgid "T_BYTE"
msgstr ""

#: ../Doc/c-api/structures.rst:276
msgid "T_UBYTE"
msgstr ""

#: ../Doc/c-api/structures.rst:276
msgid "unsigned char"
msgstr "unsigned char"

#: ../Doc/c-api/structures.rst:277
msgid "T_UINT"
msgstr ""

#: ../Doc/c-api/structures.rst:277
msgid "unsigned int"
msgstr "unsigned int"

#: ../Doc/c-api/structures.rst:278
msgid "T_USHORT"
msgstr ""

#: ../Doc/c-api/structures.rst:278
msgid "unsigned short"
msgstr "unsigned short"

#: ../Doc/c-api/structures.rst:279
msgid "T_ULONG"
msgstr ""

#: ../Doc/c-api/structures.rst:279
msgid "unsigned long"
msgstr "unsigned long"

#: ../Doc/c-api/structures.rst:280
msgid "T_BOOL"
msgstr ""

#: ../Doc/c-api/structures.rst:281
msgid "T_LONGLONG"
msgstr ""

#: ../Doc/c-api/structures.rst:281
msgid "long long"
msgstr ""

#: ../Doc/c-api/structures.rst:282
msgid "T_ULONGLONG"
msgstr ""

#: ../Doc/c-api/structures.rst:282
msgid "unsigned long long"
msgstr "unsigned long long"

#: ../Doc/c-api/structures.rst:283
msgid "T_PYSSIZET"
msgstr ""

#: ../Doc/c-api/structures.rst:286
msgid ""
":c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` differ in that :c:macro:"
"`T_OBJECT` returns ``None`` if the member is *NULL* and :c:macro:"
"`T_OBJECT_EX` raises an :exc:`AttributeError`.  Try to use :c:macro:"
"`T_OBJECT_EX` over :c:macro:`T_OBJECT` because :c:macro:`T_OBJECT_EX` "
"handles use of the :keyword:`del` statement on that attribute more correctly "
"than :c:macro:`T_OBJECT`."
msgstr ""

#: ../Doc/c-api/structures.rst:293
msgid ""
":attr:`flags` can be ``0`` for write and read access or :c:macro:`READONLY` "
"for read-only access.  Using :c:macro:`T_STRING` for :attr:`type` implies :c:"
"macro:`READONLY`.  Only :c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` "
"members can be deleted.  (They are set to *NULL*)."
msgstr ""

#: ../Doc/c-api/structures.rst:301
msgid ""
"Structure to define property-like access for a type. See also description of "
"the :c:member:`PyTypeObject.tp_getset` slot."
msgstr ""

#: ../Doc/c-api/structures.rst:307
msgid "name"
msgstr ""

#: ../Doc/c-api/structures.rst:307
msgid "attribute name"
msgstr ""

#: ../Doc/c-api/structures.rst:309
msgid "get"
msgstr ""

#: ../Doc/c-api/structures.rst:309
msgid "getter"
msgstr ""

#: ../Doc/c-api/structures.rst:309
msgid "C Function to get the attribute"
msgstr ""

#: ../Doc/c-api/structures.rst:311
msgid "set"
msgstr ""

#: ../Doc/c-api/structures.rst:311
msgid "setter"
msgstr ""

#: ../Doc/c-api/structures.rst:311
msgid ""
"optional C function to set or delete the attribute, if omitted the attribute "
"is readonly"
msgstr ""

#: ../Doc/c-api/structures.rst:315
msgid "doc"
msgstr ""

#: ../Doc/c-api/structures.rst:315
msgid "optional docstring"
msgstr ""

#: ../Doc/c-api/structures.rst:317
msgid "closure"
msgstr ""

#: ../Doc/c-api/structures.rst:317
msgid "void \\*"
msgstr ""

#: ../Doc/c-api/structures.rst:317
msgid ""
"optional function pointer, providing additional data for getter and setter"
msgstr ""

#: ../Doc/c-api/structures.rst:322
msgid ""
"The ``get`` function takes one :c:type:`PyObject\\*` parameter (the "
"instance) and a function pointer (the associated ``closure``)::"
msgstr ""

#: ../Doc/c-api/structures.rst:327
msgid ""
"It should return a new reference on success or *NULL* with a set exception "
"on failure."
msgstr ""

#: ../Doc/c-api/structures.rst:330
msgid ""
"``set`` functions take two :c:type:`PyObject\\*` parameters (the instance "
"and the value to be set) and a function pointer (the associated "
"``closure``)::"
msgstr ""

#: ../Doc/c-api/structures.rst:335
msgid ""
"In case the attribute should be deleted the second parameter is *NULL*. "
"Should return ``0`` on success or ``-1`` with a set exception on failure."
msgstr ""
