Structures.
The 
tp_as_mapping
field is not inherited, but the contained fields are inherited
individually.
hashfunc 
PyTypeObject.tp_hash
An optional pointer to a function that implements the built-in function 
hash()
.
The signature is the same as for 
PyObject_Hash()
; it must return a C long. The value
-1
should not be returned as a normal return value; when an error occurs during the
computation of the hash value, the function should set an exception and return 
-1
.
This field can be set explicitly to 
PyObject_HashNotImplemented()
to block inheritance
of the hash method from a parent type. This is interpreted as the equivalent of
__hash__ = None
at the Python level, causing 
isinstance(o, collections.Hashable)
to correctly return 
False
. Note that the converse is also true - setting 
__hash__ =
None
on a class at the Python level will result in the 
tp_hash
slot being set to
PyObject_HashNotImplemented()
.
When this field is not set, two possibilities exist: if the 
tp_compare
and 
tp_richcompare
fields are both NULL, a default hash value based on the object’s address is returned;
otherwise, a 
TypeError
is raised.
This field is inherited by subtypes together with 
tp_richcompare
and 
tp_compare
: a
subtypes inherits all three of 
tp_compare
tp_richcompare
,  and 
tp_hash
, when the
subtype’s 
tp_compare
tp_richcompare
and 
tp_hash
are all NULL.
ternaryfunc 
PyTypeObject.tp_call
An optional pointer to a function that implements calling the object. This should be
NULL if the object is not callable. The signature is the same as for 
PyObject_Call()
.
This field is inherited by subtypes.
reprfunc 
PyTypeObject.tp_str
An optional pointer to a function that implements the built-in operation 
str()
. (Note
that 
str
is a type now, and 
str()
calls the constructor for that type. This constructor
calls 
PyObject_Str()
to do the actual work, and 
PyObject_Str()
will call this handler.)
The signature is the same as for 
PyObject_Str()
; it must return a string or a Unicode
object. This function should return a “friendly” string representation of the object, as
this is the representation that will be used by the print statement.
Pdf password encryption - C# PDF Digital Signature Library: add, remove, update PDF digital signatures in C#.net, ASP.NET, MVC, WPF
Help to Improve the Security of Your PDF File by Adding Digital Signatures
pdf secure; pdf password unlock
Pdf password encryption - VB.NET PDF Digital Signature Library: add, remove, update PDF digital signatures in vb.net, ASP.NET, MVC, WPF
Guide VB.NET Programmers to Improve the Security of Your PDF File by Adding Digital Signatures
decrypt pdf file online; create encrypted pdf
When this field is not set, 
PyObject_Repr()
is called to return a string representation.
This field is inherited by subtypes.
getattrofunc 
PyTypeObject.tp_getattro
An optional pointer to the get-attribute function.
The signature is the same as for 
PyObject_GetAttr()
. It is usually convenient to set
this field to 
PyObject_GenericGetAttr()
, which implements the normal way of looking
for object attributes.
This field is inherited by subtypes together with 
tp_getattr
: a subtype inherits both
tp_getattr
and 
tp_getattro
from its base type when the subtype’s 
tp_getattr
and
tp_getattro
are both NULL.
setattrofunc 
PyTypeObject.tp_setattro
An optional pointer to the set-attribute function.
The signature is the same as for 
PyObject_SetAttr()
. It is usually convenient to set
this field to 
PyObject_GenericSetAttr()
, which implements the normal way of setting
object attributes.
This field is inherited by subtypes together with 
tp_setattr
: a subtype inherits both
tp_setattr
and 
tp_setattro
from its base type when the subtype’s 
tp_setattr
and
tp_setattro
are both NULL.
PyBufferProcs
PyTypeObject.tp_as_buffer
Pointer to an additional structure that contains fields relevant only to objects which
implement  the  buffer  interface. These  fields  are  documented  in Buffer Object
Structures.
The 
tp_as_buffer
field  is  not  inherited,  but  the contained  fields  are  inherited
individually.
long 
PyTypeObject.tp_flags
This field is a bit mask of various flags. Some flags indicate variant semantics for
certain situations; others are used to indicate that certain fields in the type object (or
in  the  extension  structures  referenced  via 
tp_as_number
tp_as_sequence
,
tp_as_mapping
, and 
tp_as_buffer
) that were historically not always present are valid;
if such a flag bit is clear, the type fields it guards must not be accessed and must be
considered to have a zero or NULL value instead.
C# PDF Password Library: add, remove, edit PDF file password in C#
outputFilePath = Program.RootPath + "\\" 3_pw_a.pdf"; // Create a setting object with user password which is Hello World"); // Set encryption level to AES
pdf secure signature; copy paste encrypted pdf
Online Remove password from protected PDF file
Find your password-protected PDF and upload it. If there is no strong encryption on your file, it will be unlocked and ready to download within seconds.
copy locked pdf; add security to pdf file
Inheritance of this field is complicated. Most flag bits are inherited individually, i.e. if
the base type has a flag bit set, the subtype inherits this flag bit. The flag bits that
pertain to extension structures are strictly inherited if the extension structure is
inherited, i.e. the base type’s value of the flag bit is copied into the subtype together
with a pointer to the extension structure. The 
Py_TPFLAGS_HAVE_GC
flag bit is inherited
together with the 
tp_traverse
and 
tp_clear
fields, i.e. if the 
Py_TPFLAGS_HAVE_GC
flag
bit is clear in the subtype and the 
tp_traverse
and 
tp_clear
fields in the subtype
exist (as indicated by the 
Py_TPFLAGS_HAVE_RICHCOMPARE
flag bit) and have NULL
values.
The following bit masks are currently defined; these can be ORed together using the 
|
operator to form the value of the 
tp_flags
field. The macro 
PyType_HasFeature()
takes a type and a flags value, tp and f, and checks whether 
tp->tp_flags & f
is
non-zero.
Py_TPFLAGS_HAVE_GETCHARBUFFER
If this bit is set, the 
PyBufferProcs
struct referenced by 
tp_as_buffer
has the
bf_getcharbuffer
field.
Py_TPFLAGS_HAVE_SEQUENCE_IN
If this bit is set, the 
PySequenceMethods
struct referenced by 
tp_as_sequence
has
the 
sq_contains
field.
Py_TPFLAGS_GC
This bit is obsolete. The bit it used to name is no longer in use. The symbol is now
defined as zero.
Py_TPFLAGS_HAVE_INPLACEOPS
If this bit is set, the 
PySequenceMethods
struct referenced by 
tp_as_sequence
and
the 
PyNumberMethods
structure referenced by 
tp_as_number
contain the fields for
in-place operators. In particular, this means that the 
PyNumberMethods
structure
has  the  fields 
nb_inplace_add
nb_inplace_subtract
nb_inplace_multiply
,
nb_inplace_divide
nb_inplace_remainder
nb_inplace_power
,
nb_inplace_lshift
nb_inplace_rshift
nb_inplace_and
nb_inplace_xor
, and
nb_inplace_or
and 
the 
PySequenceMethods
struct  has  the  fields
sq_inplace_concat
and 
sq_inplace_repeat
.
Py_TPFLAGS_CHECKTYPES
If this bit is set, the binary and ternary operations in the 
PyNumberMethods
structure
referenced by 
tp_as_number
accept arguments of arbitrary object types, and do
their own type conversions if needed. If this bit is clear, those operations require
VB.NET PDF Password Library: add, remove, edit PDF file password
String = Program.RootPath + "\\" 3_pw_a.pdf" ' Create a setting object with user password which is PasswordSetting("Hello World") ' Set encryption level to
secure pdf file; create pdf security
C# PDF File Permission Library: add, remove, update PDF file
outputFilePath = Program.RootPath + "\\" 3_pw_a.pdf"; // Create a setting object with user password "Hello World". Hello World"); // Set encryption level to
decrypt pdf password online; cannot print pdf security
that all arguments have the current type as their type, and the caller is supposed
to  perform  a  coercion  operation  first. This  applies  to 
nb_add
nb_subtract
,
nb_multiply
nb_divide
nb_remainder
nb_divmod
nb_power
nb_lshift
,
nb_rshift
nb_and
nb_xor
, and 
nb_or
.
Py_TPFLAGS_HAVE_RICHCOMPARE
If this bit is set, the type object has the 
tp_richcompare
field, as well as the
tp_traverse
and the 
tp_clear
fields.
Py_TPFLAGS_HAVE_WEAKREFS
If this bit is set, the 
tp_weaklistoffset
field is defined. Instances of a type are
weakly referenceable if the type’s 
tp_weaklistoffset
field has a value greater
than zero.
Py_TPFLAGS_HAVE_ITER
If this bit is set, the type object has the 
tp_iter
and 
tp_iternext
fields.
Py_TPFLAGS_HAVE_CLASS
If this bit is set, the type object has several new fields defined starting in Python
2.2: 
tp_methods
tp_members
tp_getset
tp_base
tp_dict
tp_descr_get
,
tp_descr_set
tp_dictoffset
tp_init
tp_alloc
tp_new
tp_free
tp_is_gc
,
tp_bases
tp_mro
tp_cache
tp_subclasses
, and 
tp_weaklist
.
Py_TPFLAGS_HEAPTYPE
This bit is set when the type object itself is allocated on the heap. In this case, the
ob_type
field of its instances is considered a reference to the type, and the type
object is INCREF’ed when a new instance is created, and DECREF’ed when an
instance is destroyed (this does not apply to instances of subtypes; only the type
referenced by the instance’s ob_type gets INCREF’ed or DECREF’ed).
Py_TPFLAGS_BASETYPE
This bit is set when the type can be used as the base type of another type. If this
bit is clear, the type cannot be subtyped (similar to a “final” class in Java).
Py_TPFLAGS_READY
This bit is set when the type object has been fully initialized by 
PyType_Ready()
.
Py_TPFLAGS_READYING
This bit is set while 
PyType_Ready()
is in the process of initializing the type object.
Py_TPFLAGS_HAVE_GC
This bit is set when the object supports garbage collection. If this bit is set,
instances  must  be  created  using 
PyObject_GC_New()
and  destroyed  using
VB.NET PDF File Permission Library: add, remove, update PDF file
As String = Program.RootPath + "\\" 3_pw_a.pdf" ' Create a password setting object with user password "Hello World Hello World") ' Set encryption level to
change security settings pdf; pdf security
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
NET class. Also able to uncompress PDF file in VB.NET programs. Support PDF encryption in VB.NET class applications. A professional
pdf password security; decrypt pdf
PyObject_GC_Del()
 More  information  in  section Supporting Cyclic Garbage
Collection. This bit also implies that the GC-related fields 
tp_traverse
and
tp_clear
are present in  the  type object;  but  those  fields  also  exist  when
Py_TPFLAGS_HAVE_GC
is clear but 
Py_TPFLAGS_HAVE_RICHCOMPARE
is set.
Py_TPFLAGS_DEFAULT
This is a bitmask of all the bits that pertain to the existence of certain fields in the
type object and its extension structures. Currently, it includes the following bits:
Py_TPFLAGS_HAVE_GETCHARBUFFER
Py_TPFLAGS_HAVE_SEQUENCE_IN
,
Py_TPFLAGS_HAVE_INPLACEOPS
Py_TPFLAGS_HAVE_RICHCOMPARE
,
Py_TPFLAGS_HAVE_WEAKREFS
Py_TPFLAGS_HAVE_ITER
, and 
Py_TPFLAGS_HAVE_CLASS
.
char* 
PyTypeObject.tp_doc
An optional pointer to a NUL-terminated C string giving the docstring for this type
object. This is exposed as the 
__doc__
attribute on the type and instances of the type.
This field is not inherited by subtypes.
The following three fields only exist if the 
Py_TPFLAGS_HAVE_RICHCOMPARE
flag bit is set.
traverseproc 
PyTypeObject.tp_traverse
An optional pointer to a traversal function for the garbage collector. This is only used if
the 
Py_TPFLAGS_HAVE_GC
flag bit is set. More information about Python’s garbage
collection scheme can be found in section Supporting Cyclic Garbage Collection.
The 
tp_traverse
pointer is used by the garbage collector to detect reference cycles.
A typical implementation of a 
tp_traverse
function simply calls 
Py_VISIT()
on each of
the instance’s  members  that are  Python objects. For example, this is function
local_traverse()
from the 
thread
extension module:
static int
local_traverse(localobject *self, visitproc visit, void *arg)
{
Py_VISIT(self->args);
Py_VISIT(self->kw);
Py_VISIT(self->dict);
return 0;
}
Note  that 
Py_VISIT()
is called only on those members that can participate in
reference cycles. Although there is also a 
self->key
member, it can only be NULL or
a Python string and therefore cannot be part of a reference cycle.
On the other hand, even if you know a member can never be part of a cycle, as a
VB.NET Word: How to Convert Word Document to PNG Image Format in
and document formats, including converting Word to PDF in VB protection by utilizing the modern Advanced Encryption Standard that converts a password to a
change security settings pdf reader; decrypt pdf online
C# Image: How to Annotate Image with Freehand Line in .NET Project
Tutorials on how to add freehand line objects to PDF, Word and TIFF SDK; Protect sensitive image information with redaction and encryption annotation objects;
pdf security settings; change pdf security settings reader
debugging  aid  you  may  want  to  visit  it  anyway  just  so  the 
gc
module’s
get_referents()
function will include it.
Note that 
Py_VISIT()
requires the visit and arg parameters to 
local_traverse()
to
have these specific names; don’t name them just anything.
This field is inherited by subtypes together with 
tp_clear
and the 
Py_TPFLAGS_HAVE_GC
flag bit: the flag bit, 
tp_traverse
, and 
tp_clear
are all inherited from the base type if
they  are 
all  zero  in 
the 
subtype and  the  subtype  has  the
Py_TPFLAGS_HAVE_RICHCOMPARE
flag bit set.
inquiry 
PyTypeObject.tp_clear
An optional pointer to a clear function for the garbage collector. This is only used if the
Py_TPFLAGS_HAVE_GC
flag bit is set.
The 
tp_clear
member function is used to break reference cycles in cyclic garbage
detected by the garbage collector. Taken  together,  all 
tp_clear
functions in the
system must combine to break all reference cycles. This is subtle, and if in any doubt
supply  a 
tp_clear
function. For example, the tuple type does not implement a
tp_clear
function, because it’s possible to prove that no reference cycle can be
composed entirely of tuples. Therefore the 
tp_clear
functions of other types must be
sufficient to break any cycle containing a tuple. This isn’t immediately obvious, and
there’s rarely a good reason to avoid implementing 
tp_clear
.
Implementations of 
tp_clear
should drop the instance’s references to those of its
members that may be Python objects, and set its pointers to those members to
NULL, as in the following example:
static int
local_clear(localobject *self)
{
Py_CLEAR(self->key);
Py_CLEAR(self->args);
Py_CLEAR(self->kw);
Py_CLEAR(self->dict);
return 0;
}
The 
Py_CLEAR()
macro should be used, because clearing references is delicate: the
reference to the contained object must not be decremented until after the pointer to
the contained object is set to NULL. This is because decrementing the reference
count may cause the contained object to become trash, triggering a chain of
reclamation activity that may include invoking arbitrary Python code (due to finalizers,
C# Image: C#.NET Code to Add HotSpot Annotation on Images
Protect sensitive information with powerful redaction and encryption annotation objects to provide powerful & profession imaging controls, PDF document, image
convert locked pdf to word; change pdf document security
C# Image: Add Watermark to Images Within RasterEdge .NET Imaging
powerful and reliable color reduction products, image encryption decryption, and even to provide powerful & profession imaging controls, PDF document, image to
create pdf the security level is set to high; pdf file security
or weakref callbacks, associated with the contained object). If it’s possible for such
code to reference self again, it’s important that the pointer to the contained object be
NULL at that time, so that self knows the contained object can no longer be used. The
Py_CLEAR()
macro performs the operations in a safe order.
Because  the  goal  of 
tp_clear
functions is to  break reference cycles, it’s not
necessary to clear contained objects like Python strings or Python integers, which
can’t participate in reference cycles. On the other hand, it may be convenient to clear
all contained Python objects, and write the type’s 
tp_dealloc
function to invoke
tp_clear
.
More information about Python’s garbage collection scheme can be found in section
Supporting Cyclic Garbage Collection.
This  field  is  inherited  by  subtypes  together  with 
tp_traverse
and  the
Py_TPFLAGS_HAVE_GC
flag bit: the flag bit, 
tp_traverse
, and 
tp_clear
are all inherited
from the base type if they are all zero in the subtype and the subtype has the
Py_TPFLAGS_HAVE_RICHCOMPARE
flag bit set.
richcmpfunc 
PyTypeObject.tp_richcompare
An optional pointer to the rich comparison function, whose signature is 
PyObject
*tp_richcompare(PyObject *a, PyObject *b, int op)
.
The function should return the result of the comparison (usually 
Py_True
or 
Py_False
).
If the comparison is undefined, it must return 
Py_NotImplemented
, if another error
occurred it must return 
NULL
and set an exception condition.
Note:  If you want to implement a type for which only a limited set of comparisons
makes sense (e.g. 
==
and 
!=
, but not 
<
and friends), directly raise 
TypeError
in the
rich comparison function.
This field is inherited by subtypes together with 
tp_compare
and 
tp_hash
: a subtype
inherits all three of 
tp_compare
tp_richcompare
, and 
tp_hash
, when the subtype’s
tp_compare
tp_richcompare
, and 
tp_hash
are all NULL.
The  following  constants  are  defined  to  be  used  as  the  third  argument  for
tp_richcompare
and for 
PyObject_RichCompare()
:
Constant
Comparison
Py_LT
<
Py_LE
<=
Py_EQ
==
Py_NE
!=
Py_GT
>
Py_GE
>=
The next field only exists if the 
Py_TPFLAGS_HAVE_WEAKREFS
flag bit is set.
long 
PyTypeObject.tp_weaklistoffset
If the instances of this type are weakly referenceable, this field is greater than zero
and contains the offset in the instance structure of the weak reference list head
(ignoring the GC header, if present); this offset is used by 
PyObject_ClearWeakRefs()
and the 
PyWeakref_*()
functions. The instance structure needs to include a field of
type 
PyObject*
which is initialized to NULL.
Do not confuse this field with 
tp_weaklist
; that is the list head for weak references to
the type object itself.
This field is inherited by subtypes, but see the rules listed below. A subtype may
override this offset; this means that the subtype uses a different weak reference list
head than the base type. Since the list head is always found via 
tp_weaklistoffset
,
this should not be a problem.
When a type defined by a class statement has no 
__slots__
declaration, and none of
its base types are weakly referenceable, the type is made weakly referenceable by
adding a weak reference list head slot to the instance layout and setting the
tp_weaklistoffset
of that slot’s offset.
When a type’s 
__slots__
declaration contains a slot named 
__weakref__
, that slot
becomes the weak reference list head for instances of the type, and the slot’s offset is
stored in the type’s 
tp_weaklistoffset
.
When a type’s 
__slots__
declaration does not contain a slot named 
__weakref__
, the
type inherits its 
tp_weaklistoffset
from its base type.
The next two fields only exist if the 
Py_TPFLAGS_HAVE_ITER
flag bit is set.
getiterfunc 
PyTypeObject.tp_iter
An optional pointer to a function that returns an iterator for the object. Its presence
normally signals that the instances of this type are iterable (although sequences may
be iterable without this function, and classic instances always have this function, even
if they don’t define an 
__iter__()
method).
This function has the same signature as 
PyObject_GetIter()
.
This field is inherited by subtypes.
iternextfunc 
PyTypeObject.tp_iternext
An optional pointer to a function that returns the next item in an iterator. When the
iterator is exhausted, it must return NULL; a 
StopIteration
exception may or may not
be set. When another error occurs, it must return NULL too. Its presence normally
signals that the instances of this type are iterators (although classic instances always
have this function, even if they don’t define a 
next()
method).
Iterator types should also define the 
tp_iter
function, and that function should return
the iterator instance itself (not a new iterator instance).
This function has the same signature as 
PyIter_Next()
.
This field is inherited by subtypes.
The next fields, up to and including 
tp_weaklist
, only exist if the 
Py_TPFLAGS_HAVE_CLASS
flag bit is set.
struct PyMethodDef* 
PyTypeObject.tp_methods
An optional pointer to a static NULL-terminated array  of 
PyMethodDef
structures,
declaring regular methods of this type.
For each entry in the array, an entry is added to the type’s dictionary (see 
tp_dict
below) containing a method descriptor.
This field is not inherited by subtypes (methods are inherited through a different
mechanism).
struct PyMemberDef* 
PyTypeObject.tp_members
An optional pointer to a static NULL-terminated array  of 
PyMemberDef
structures,
declaring regular data members (fields or slots) of instances of this type.
For each entry in the array, an entry is added to the type’s dictionary (see 
tp_dict
below) containing a member descriptor.
This field is not inherited by subtypes (members are inherited through a different
mechanism).
struct PyGetSetDef* 
PyTypeObject.tp_getset
An optional pointer to a static NULL-terminated array  of 
PyGetSetDef
structures,
declaring computed attributes of instances of this type.
For each entry in the array, an entry is added to the type’s dictionary (see 
tp_dict
below) containing a getset descriptor.
This field is not inherited by subtypes (computed attributes are inherited through a
different mechanism).
Docs for PyGetSetDef:
typedef PyObject *(*getter)(PyObject *void *);
typedef int (*setter)(PyObject *, PyObject *void *);
typedef struct PyGetSetDef {
char *name; /* attribute name */
getter get; /* C function to get the attribute */
setter set; /* C function to set the attribute */
char *doc; /* optional doc string */
void *closure; /* optional additional data for getter and setter */
} PyGetSetDef;
PyTypeObject
PyTypeObject.tp_base
An optional pointer to a base type from which type properties are inherited. At this
level, only single inheritance is supported; multiple inheritance require dynamically
creating a type object by calling the metatype.
This  field  is  not  inherited  by  subtypes  (obviously),  but  it  defaults  to
&PyBaseObject_Type
(which to Python programmers is known as the type 
object
).
PyObject
PyTypeObject.tp_dict
The type’s dictionary is stored here by 
PyType_Ready()
.
This field should normally be initialized to NULL before PyType_Ready is called; it may
also be initialized to a dictionary containing initial attributes for the type. Once
PyType_Ready()
has initialized the type, extra attributes for the type may be added to
this dictionary only if they don’t correspond to overloaded operations (like 
__add__()
).
This field is not inherited by subtypes (though the attributes defined in here are
inherited through a different mechanism).
descrgetfunc 
PyTypeObject.tp_descr_get
An optional pointer to a “descriptor get” function.
The function signature is
PyObject * tp_descr_get(PyObject *self, PyObject *obj, PyObject *type);
This field is inherited by subtypes.
Documents you may be interested
Documents you may be interested