075dcb0cd34b694ed05be7d48c3c229af6023390
[platform/upstream/python-lxml.git] / doc / html / api / abc.ABCMeta-class.html
1 <?xml version="1.0" encoding="ascii"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3           "DTD/xhtml1-transitional.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5 <head>
6   <title>abc.ABCMeta</title>
7   <link rel="stylesheet" href="epydoc.css" type="text/css" />
8   <script type="text/javascript" src="epydoc.js"></script>
9 </head>
10
11 <body bgcolor="white" text="black" link="blue" vlink="#204080"
12       alink="#204080">
13 <!-- ==================== NAVIGATION BAR ==================== -->
14 <table class="navbar" border="0" width="100%" cellpadding="0"
15        bgcolor="#a0c0ff" cellspacing="0">
16   <tr valign="middle">
17   <!-- Home link -->
18       <th>&nbsp;&nbsp;&nbsp;<a
19         href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
20
21   <!-- Tree link -->
22       <th>&nbsp;&nbsp;&nbsp;<a
23         href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
24
25   <!-- Index link -->
26       <th>&nbsp;&nbsp;&nbsp;<a
27         href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
28
29   <!-- Help link -->
30       <th>&nbsp;&nbsp;&nbsp;<a
31         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
32
33   <!-- Project homepage -->
34       <th class="navbar" align="right" width="100%">
35         <table border="0" cellpadding="0" cellspacing="0">
36           <tr><th class="navbar" align="center"
37             ><a class="navbar" target="_top" href="/">lxml API</a></th>
38           </tr></table></th>
39   </tr>
40 </table>
41 <table width="100%" cellpadding="0" cellspacing="0">
42   <tr valign="top">
43     <td width="100%">
44       <span class="breadcrumbs">
45         abc ::
46         ABCMeta ::
47         Class&nbsp;ABCMeta
48       </span>
49     </td>
50     <td>
51       <table cellpadding="0" cellspacing="0">
52         <!-- hide/show private -->
53         <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
54     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
55         <tr><td align="right"><span class="options"
56             >[<a href="frames.html" target="_top">frames</a
57             >]&nbsp;|&nbsp;<a href="abc.ABCMeta-class.html"
58             target="_top">no&nbsp;frames</a>]</span></td></tr>
59       </table>
60     </td>
61   </tr>
62 </table>
63 <!-- ==================== TYPE DESCRIPTION ==================== -->
64 <h1 class="epydoc">Type ABCMeta</h1><p class="nomargin-top"></p>
65 <pre class="base-tree">
66 object --+    
67          |    
68       type --+
69              |
70             <strong class="uidshort">ABCMeta</strong>
71 </pre>
72
73 <hr />
74 <p>Metaclass for defining Abstract Base Classes (ABCs).</p>
75 <p>Use this metaclass to create an ABC.  An ABC can be subclassed
76 directly, and then acts as a mix-in class.  You can also register
77 unrelated concrete classes (even built-in classes) and unrelated
78 ABCs as 'virtual subclasses' -- these and their descendants will
79 be considered subclasses of the registering ABC by the built-in
80 issubclass() function, but the registering ABC won't show up in
81 their MRO (Method Resolution Order) nor will method
82 implementations defined by the registering ABC be callable (not
83 even via super()).</p>
84
85 <!-- ==================== INSTANCE METHODS ==================== -->
86 <a name="section-InstanceMethods"></a>
87 <table class="summary" border="1" cellpadding="3"
88        cellspacing="0" width="100%" bgcolor="white">
89 <tr bgcolor="#70b0f0" class="table-header">
90   <td colspan="2" class="table-header">
91     <table border="0" cellpadding="0" cellspacing="0" width="100%">
92       <tr valign="top">
93         <td align="left"><span class="table-header">Instance Methods</span></td>
94         <td align="right" valign="top"
95          ><span class="options">[<a href="#section-InstanceMethods"
96          class="privatelink" onclick="toggle_private();"
97          >hide private</a>]</span></td>
98       </tr>
99     </table>
100   </td>
101 </tr>
102 <tr>
103     <td width="15%" align="right" valign="top" class="summary">
104       <span class="summary-type">bool</span>
105     </td><td class="summary">
106       <table width="100%" cellpadding="0" cellspacing="0" border="0">
107         <tr>
108           <td><span class="summary-sig"><a href="abc.ABCMeta-class.html#__instancecheck__" class="summary-sig-name">__instancecheck__</a>(<span class="summary-sig-arg">cls</span>,
109         <span class="summary-sig-arg">instance</span>)</span><br />
110       Override for isinstance(instance, cls).</td>
111           <td align="right" valign="top">
112             
113             
114           </td>
115         </tr>
116       </table>
117       
118     </td>
119   </tr>
120 <tr>
121     <td width="15%" align="right" valign="top" class="summary">
122       <span class="summary-type">bool</span>
123     </td><td class="summary">
124       <table width="100%" cellpadding="0" cellspacing="0" border="0">
125         <tr>
126           <td><span class="summary-sig"><a href="abc.ABCMeta-class.html#__subclasscheck__" class="summary-sig-name">__subclasscheck__</a>(<span class="summary-sig-arg">cls</span>,
127         <span class="summary-sig-arg">subclass</span>)</span><br />
128       Override for issubclass(subclass, cls).</td>
129           <td align="right" valign="top">
130             
131             
132           </td>
133         </tr>
134       </table>
135       
136     </td>
137   </tr>
138 <tr class="private">
139     <td width="15%" align="right" valign="top" class="summary">
140       <span class="summary-type">&nbsp;</span>
141     </td><td class="summary">
142       <table width="100%" cellpadding="0" cellspacing="0" border="0">
143         <tr>
144           <td><span class="summary-sig"><a name="_dump_registry"></a><span class="summary-sig-name">_dump_registry</span>(<span class="summary-sig-arg">cls</span>,
145         <span class="summary-sig-arg">file</span>=<span class="summary-sig-default">None</span>)</span><br />
146       Debug helper to print the ABC registry.</td>
147           <td align="right" valign="top">
148             
149             
150           </td>
151         </tr>
152       </table>
153       
154     </td>
155   </tr>
156 <tr>
157     <td width="15%" align="right" valign="top" class="summary">
158       <span class="summary-type">&nbsp;</span>
159     </td><td class="summary">
160       <table width="100%" cellpadding="0" cellspacing="0" border="0">
161         <tr>
162           <td><span class="summary-sig"><a name="register"></a><span class="summary-sig-name">register</span>(<span class="summary-sig-arg">cls</span>,
163         <span class="summary-sig-arg">subclass</span>)</span><br />
164       Register a virtual subclass of an ABC.</td>
165           <td align="right" valign="top">
166             
167             
168           </td>
169         </tr>
170       </table>
171       
172     </td>
173   </tr>
174   <tr>
175     <td colspan="2" class="summary">
176     <p class="indent-wrapped-lines"><b>Inherited from <code>type</code></b>:
177       <code>__call__</code>,
178       <code>__delattr__</code>,
179       <code>__eq__</code>,
180       <code>__ge__</code>,
181       <code>__getattribute__</code>,
182       <code>__gt__</code>,
183       <code>__hash__</code>,
184       <code>__init__</code>,
185       <code>__le__</code>,
186       <code>__lt__</code>,
187       <code>__ne__</code>,
188       <code>__repr__</code>,
189       <code>__setattr__</code>,
190       <code>__subclasses__</code>,
191       <code>mro</code>
192       </p>
193     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
194       <code>__format__</code>,
195       <code>__reduce__</code>,
196       <code>__reduce_ex__</code>,
197       <code>__sizeof__</code>,
198       <code>__str__</code>,
199       <code>__subclasshook__</code>
200       </p>
201     </td>
202   </tr>
203 </table>
204 <!-- ==================== STATIC METHODS ==================== -->
205 <a name="section-StaticMethods"></a>
206 <table class="summary" border="1" cellpadding="3"
207        cellspacing="0" width="100%" bgcolor="white">
208 <tr bgcolor="#70b0f0" class="table-header">
209   <td colspan="2" class="table-header">
210     <table border="0" cellpadding="0" cellspacing="0" width="100%">
211       <tr valign="top">
212         <td align="left"><span class="table-header">Static Methods</span></td>
213         <td align="right" valign="top"
214          ><span class="options">[<a href="#section-StaticMethods"
215          class="privatelink" onclick="toggle_private();"
216          >hide private</a>]</span></td>
217       </tr>
218     </table>
219   </td>
220 </tr>
221 <tr>
222     <td width="15%" align="right" valign="top" class="summary">
223       <span class="summary-type">a new object with type S, a subtype of T</span>
224     </td><td class="summary">
225       <table width="100%" cellpadding="0" cellspacing="0" border="0">
226         <tr>
227           <td><span class="summary-sig"><a href="abc.ABCMeta-class.html#__new__" class="summary-sig-name">__new__</a>(<span class="summary-sig-arg">mcls</span>,
228         <span class="summary-sig-arg">name</span>,
229         <span class="summary-sig-arg">bases</span>,
230         <span class="summary-sig-arg">namespace</span>)</span></td>
231           <td align="right" valign="top">
232             
233             
234           </td>
235         </tr>
236       </table>
237       
238     </td>
239   </tr>
240 </table>
241 <!-- ==================== CLASS VARIABLES ==================== -->
242 <a name="section-ClassVariables"></a>
243 <table class="summary" border="1" cellpadding="3"
244        cellspacing="0" width="100%" bgcolor="white">
245 <tr bgcolor="#70b0f0" class="table-header">
246   <td colspan="2" class="table-header">
247     <table border="0" cellpadding="0" cellspacing="0" width="100%">
248       <tr valign="top">
249         <td align="left"><span class="table-header">Class Variables</span></td>
250         <td align="right" valign="top"
251          ><span class="options">[<a href="#section-ClassVariables"
252          class="privatelink" onclick="toggle_private();"
253          >hide private</a>]</span></td>
254       </tr>
255     </table>
256   </td>
257 </tr>
258 <tr class="private">
259     <td width="15%" align="right" valign="top" class="summary">
260       <span class="summary-type">&nbsp;</span>
261     </td><td class="summary">
262         <a name="_abc_invalidation_counter"></a><span class="summary-name">_abc_invalidation_counter</span> = <code title="21">21</code>
263     </td>
264   </tr>
265 </table>
266 <!-- ==================== PROPERTIES ==================== -->
267 <a name="section-Properties"></a>
268 <table class="summary" border="1" cellpadding="3"
269        cellspacing="0" width="100%" bgcolor="white">
270 <tr bgcolor="#70b0f0" class="table-header">
271   <td colspan="2" class="table-header">
272     <table border="0" cellpadding="0" cellspacing="0" width="100%">
273       <tr valign="top">
274         <td align="left"><span class="table-header">Properties</span></td>
275         <td align="right" valign="top"
276          ><span class="options">[<a href="#section-Properties"
277          class="privatelink" onclick="toggle_private();"
278          >hide private</a>]</span></td>
279       </tr>
280     </table>
281   </td>
282 </tr>
283   <tr>
284     <td colspan="2" class="summary">
285     <p class="indent-wrapped-lines"><b>Inherited from <code>type</code></b>:
286       <code>__abstractmethods__</code>,
287       <code>__base__</code>,
288       <code>__bases__</code>,
289       <code>__basicsize__</code>,
290       <code>__dictoffset__</code>,
291       <code>__flags__</code>,
292       <code>__itemsize__</code>,
293       <code>__mro__</code>,
294       <code>__name__</code>,
295       <code>__weakrefoffset__</code>
296       </p>
297     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
298       <code>__class__</code>
299       </p>
300     </td>
301   </tr>
302 </table>
303 <!-- ==================== METHOD DETAILS ==================== -->
304 <a name="section-MethodDetails"></a>
305 <table class="details" border="1" cellpadding="3"
306        cellspacing="0" width="100%" bgcolor="white">
307 <tr bgcolor="#70b0f0" class="table-header">
308   <td colspan="2" class="table-header">
309     <table border="0" cellpadding="0" cellspacing="0" width="100%">
310       <tr valign="top">
311         <td align="left"><span class="table-header">Method Details</span></td>
312         <td align="right" valign="top"
313          ><span class="options">[<a href="#section-MethodDetails"
314          class="privatelink" onclick="toggle_private();"
315          >hide private</a>]</span></td>
316       </tr>
317     </table>
318   </td>
319 </tr>
320 </table>
321 <a name="__instancecheck__"></a>
322 <div>
323 <table class="details" border="1" cellpadding="3"
324        cellspacing="0" width="100%" bgcolor="white">
325 <tr><td>
326   <table width="100%" cellpadding="0" cellspacing="0" border="0">
327   <tr valign="top"><td>
328   <h3 class="epydoc"><span class="sig"><span class="sig-name">__instancecheck__</span>(<span class="sig-arg">cls</span>,
329         <span class="sig-arg">instance</span>)</span>
330   </h3>
331   </td><td align="right" valign="top"
332     >&nbsp;
333     </td>
334   </tr></table>
335   
336   Override for isinstance(instance, cls).
337   <dl class="fields">
338     <dt>Returns: bool</dt>
339     <dt>Overrides:
340         type.__instancecheck__
341     </dt>
342   </dl>
343 </td></tr></table>
344 </div>
345 <a name="__new__"></a>
346 <div>
347 <table class="details" border="1" cellpadding="3"
348        cellspacing="0" width="100%" bgcolor="white">
349 <tr><td>
350   <table width="100%" cellpadding="0" cellspacing="0" border="0">
351   <tr valign="top"><td>
352   <h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">mcls</span>,
353         <span class="sig-arg">name</span>,
354         <span class="sig-arg">bases</span>,
355         <span class="sig-arg">namespace</span>)</span>
356     <br /><em class="fname">Static Method</em>
357   </h3>
358   </td><td align="right" valign="top"
359     >&nbsp;
360     </td>
361   </tr></table>
362   
363   
364   <dl class="fields">
365     <dt>Returns: a new object with type S, a subtype of T</dt>
366     <dt>Overrides:
367         object.__new__
368         <dd><em class="note">(inherited documentation)</em></dd>
369     </dt>
370   </dl>
371 </td></tr></table>
372 </div>
373 <a name="__subclasscheck__"></a>
374 <div>
375 <table class="details" border="1" cellpadding="3"
376        cellspacing="0" width="100%" bgcolor="white">
377 <tr><td>
378   <table width="100%" cellpadding="0" cellspacing="0" border="0">
379   <tr valign="top"><td>
380   <h3 class="epydoc"><span class="sig"><span class="sig-name">__subclasscheck__</span>(<span class="sig-arg">cls</span>,
381         <span class="sig-arg">subclass</span>)</span>
382   </h3>
383   </td><td align="right" valign="top"
384     >&nbsp;
385     </td>
386   </tr></table>
387   
388   Override for issubclass(subclass, cls).
389   <dl class="fields">
390     <dt>Returns: bool</dt>
391     <dt>Overrides:
392         type.__subclasscheck__
393     </dt>
394   </dl>
395 </td></tr></table>
396 </div>
397 <br />
398 <!-- ==================== NAVIGATION BAR ==================== -->
399 <table class="navbar" border="0" width="100%" cellpadding="0"
400        bgcolor="#a0c0ff" cellspacing="0">
401   <tr valign="middle">
402   <!-- Home link -->
403       <th>&nbsp;&nbsp;&nbsp;<a
404         href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
405
406   <!-- Tree link -->
407       <th>&nbsp;&nbsp;&nbsp;<a
408         href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
409
410   <!-- Index link -->
411       <th>&nbsp;&nbsp;&nbsp;<a
412         href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
413
414   <!-- Help link -->
415       <th>&nbsp;&nbsp;&nbsp;<a
416         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
417
418   <!-- Project homepage -->
419       <th class="navbar" align="right" width="100%">
420         <table border="0" cellpadding="0" cellspacing="0">
421           <tr><th class="navbar" align="center"
422             ><a class="navbar" target="_top" href="/">lxml API</a></th>
423           </tr></table></th>
424   </tr>
425 </table>
426 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
427   <tr>
428     <td align="left" class="footer">
429     Generated by Epydoc 3.0.1
430     on Wed Jan 29 12:26:21 2020
431     </td>
432     <td align="right" class="footer">
433       <a target="mainFrame" href="http://epydoc.sourceforge.net"
434         >http://epydoc.sourceforge.net</a>
435     </td>
436   </tr>
437 </table>
438
439 <script type="text/javascript">
440   <!--
441   // Private objects are initially displayed (because if
442   // javascript is turned off then we want them to be
443   // visible); but by default, we want to hide them.  So hide
444   // them unless we have a cookie that says to show them.
445   checkCookie();
446   // -->
447 </script>
448 </body>
449 </html>