root/trunk/infrastructure/pyd/wiki_doc/dpyobject.html

Revision 33, 13.3 kB (checked in by KirkMcDonald, 2 years ago)

html_doc update

  • Property svn:mime-type set to text/html
Line 
1 <html><head>
2     <META http-equiv="content-type" content="text/html; charset=utf-8">
3     <title>pyd.dpyobject</title>
4     </head><body>
5     <h1>pyd.dpyobject</h1>
6     <!-- Generated by Ddoc from pyd\dpyobject.d -->
7 <br><br>
8 <dl><dt><big>class <u>DPyObject</u>;
9 </big></dt>
10 <dd>Wrapper class for a Python/C API PyObject.
11 <br><br>
12 Nearly all of these member functions may throw a PythonException if the
13  underlying Python API raises a Python exception.
14
15 <br><br>
16 <b>Authors:</b><br>
17 <a href="mailto:kirklin.mcdonald@gmail.com">Kirk McDonald</a>
18 <br><br>
19 <b>Date:</b><br>
20 June 18, 2006
21 <br><br>
22 <b>See Also:</b><br>
23 <a href="http://docs.python.org/api/api.html">The Python/C API</a>
24  
25 <br><br>
26
27 <dl><dt><big>this(PyObject * <i>o</i>, bool <i>borrowed</i> = false);
28 </big></dt>
29 <dd>Wrap around a passed PyObject*.
30 <br><br>
31 <b>Params:</b><br>
32 <table><tr><td>PyObject * <i>o</i></td>
33 <td>The PyObject to wrap.</td></tr>
34 <tr><td>bool <i>borrowed</i></td>
35 <td>Whether <i>o</i> is a borrowed reference. Instances
36                  of DPyObject always own their references.
37                  Therefore, Py_INCREF will be called if <i>borrowed</i> is
38                  <font color=blue><b>true</b></font>.</td></tr>
39 </table><br>
40
41 </dd>
42 <dt><big>this();
43 </big></dt>
44 <dd>The default constructor constructs an instance of the Py_None DPyObject.
45 <br><br>
46
47 </dd>
48 <dt><big>PyObject * <u>ptr</u>();
49 </big></dt>
50 <dd>Returns a borrowed reference to the PyObject.
51      
52 <br><br>
53
54 </dd>
55 <dt><big>bool <u>hasattr</u>(char[] <i>attr_name</i>);
56 </big></dt>
57 <dd>Same as hasattr(this, <i>attr_name</i>) in Python.
58 <br><br>
59
60 </dd>
61 <dt><big>bool <u>hasattr</u>(DPyObject <i>attr_name</i>);
62 </big></dt>
63 <dd>Same as hasattr(this, <i>attr_name</i>) in Python.
64 <br><br>
65
66 </dd>
67 <dt><big>DPyObject <u>getattr</u>(char[] <i>attr_name</i>);
68 </big></dt>
69 <dd>Same as getattr(this, <i>attr_name</i>) in Python.
70 <br><br>
71
72 </dd>
73 <dt><big>DPyObject <u>getattr</u>(DPyObject <i>attr_name</i>);
74 </big></dt>
75 <dd>Same as getattr(this, <i>attr_name</i>) in Python.
76 <br><br>
77
78 </dd>
79 <dt><big>void <u>setattr</u>(char[] <i>attr_name</i>, DPyObject <i>v</i>);
80 </big></dt>
81 <dd>Same as setattr(this, <i>attr_name</i>, <i>v</i>) in Python.
82      
83 <br><br>
84
85 </dd>
86 <dt><big>void <u>setattr</u>(DPyObject <i>attr_name</i>, DPyObject <i>v</i>);
87 </big></dt>
88 <dd>Same as setattr(this, <i>attr_name</i>, <i>v</i>) in Python.
89      
90 <br><br>
91
92 </dd>
93 <dt><big>void <u>delattr</u>(char[] <i>attr_name</i>);
94 </big></dt>
95 <dd>Same as del this.<i>attr_name</i> in Python.
96      
97 <br><br>
98
99 </dd>
100 <dt><big>void <u>delattr</u>(DPyObject <i>attr_name</i>);
101 </big></dt>
102 <dd>Same as del this.<i>attr_name</i> in Python.
103      
104 <br><br>
105
106 </dd>
107 <dt><big>int <u>opCmp</u>(DPyObject <i>rhs</i>);
108 </big></dt>
109 <dd>Exposes Python object comparison to D. Same as cmp(this, <i>rhs</i>) in Python.
110      
111 <br><br>
112
113 </dd>
114 <dt><big>bool <u>opEquals</u>(DPyObject <i>rhs</i>);
115 </big></dt>
116 <dd>Exposes Python object equality check to D.
117      
118 <br><br>
119
120 </dd>
121 <dt><big>DPyObject <u>repr</u>();
122 </big></dt>
123 <dd>Same as repr(this) in Python.
124 <br><br>
125
126 </dd>
127 <dt><big>DPyObject <u>str</u>();
128 </big></dt>
129 <dd>Same as str(this) in Python.
130 <br><br>
131
132 </dd>
133 <dt><big>char[] <u>toString</u>();
134 </big></dt>
135 <dd>Allows use of DPyObject in writef via %s
136 <br><br>
137
138 </dd>
139 <dt><big>DPyObject <u>unicode</u>();
140 </big></dt>
141 <dd>Same as unicode(this) in Python.
142 <br><br>
143
144 </dd>
145 <dt><big>bool <u>isInstance</u>(DPyObject <i>cls</i>);
146 </big></dt>
147 <dd>Same as isinstance(this, <i>cls</i>) in Python.
148 <br><br>
149
150 </dd>
151 <dt><big>bool <u>isSubclass</u>(DPyObject <i>cls</i>);
152 </big></dt>
153 <dd>Same as issubclass(this, <i>cls</i>) in Python. Only works if this is a class.
154 <br><br>
155
156 </dd>
157 <dt><big>bool <u>callable</u>();
158 </big></dt>
159 <dd>Same as callable(this) in Python.
160 <br><br>
161
162 </dd>
163 <dt><big>DPyObject <u>opCall</u>(DPyObject <i>args</i> = cast(DPyObject)null);
164 </big></dt>
165 <dd>Calls the DPyObject.
166 <br><br>
167 <b>Params:</b><br>
168 <table><tr><td>DPyObject <i>args</i></td>
169 <td>Should be a DPyTuple of the arguments to pass. Omit to
170              call with no arguments.</td></tr>
171 </table><br>
172 <b>Returns:</b><br>
173 Whatever the function DPyObject returns.
174      
175 <br><br>
176
177 </dd>
178 <dt><big>DPyObject <u>opCall</u>(DPyObject <i>args</i>, DPyObject <i>kw</i>);
179 </big></dt>
180 <dd>Calls the DPyObject with positional and keyword arguments.
181 <br><br>
182 <b>Params:</b><br>
183 <table><tr><td>DPyObject <i>args</i></td>
184 <td>Positional arguments. Should be a DPyTuple. Pass an empty
185              DPyTuple for no positional arguments.</td></tr>
186 <tr><td>DPyObject <i>kw</i></td>
187 <td>Keyword arguments. Should be a DPyDict.</td></tr>
188 </table><br>
189 <b>Returns:</b><br>
190 Whatever the function DPyObject returns.
191      
192 <br><br>
193
194 </dd>
195 <dt><big>DPyObject <u>method</u>(char[] <i>name</i>, DPyObject <i>args</i> = cast(DPyObject)null);
196 </big></dt>
197 <dd><br><br>
198 </dd>
199 <dt><big>int <u>hash</u>();
200 </big></dt>
201 <dd>Same as hash(this) in Python.
202 <br><br>
203
204 </dd>
205 <dt><big>bool <u>toBool</u>();
206 </big></dt>
207 <dd>Same as "not not this" in Python.
208 <br><br>
209
210 </dd>
211 <dt><big>bool <u>not</u>();
212 </big></dt>
213 <dd>Same as "not this" in Python.
214 <br><br>
215
216 </dd>
217 <dt><big>DPyObject <u>type</u>();
218 </big></dt>
219 <dd>Gets the type of this DPyObject. Same as type(this) in Python.
220 <br><br>
221 <b>Returns:</b><br>
222 The type DPyObject of this DPyObject.
223      
224 <br><br>
225
226 </dd>
227 <dt><big>int <u>length</u>();
228 </big></dt>
229 <dd>The length of this DPyObject. Same as len(this) in Python.
230      
231 <br><br>
232
233 </dd>
234 <dt><big>int <u>size</u>();
235 </big></dt>
236 <dd>Same as length()
237 <br><br>
238
239 </dd>
240 <dt><big>DPyObject <u>dir</u>();
241 </big></dt>
242 <dd>Same as dir(this) in Python.
243 <br><br>
244
245 </dd>
246 <dt><big>DPyObject <u>opIndex</u>(DPyObject <i>key</i>);
247 </big></dt>
248 <dd>Equivalent to o[key] in Python.
249 <br><br>
250
251 </dd>
252 <dt><big>DPyObject <u>opIndex</u>(char[] <i>key</i>);
253 </big></dt>
254 <dd>Equivalent to o['key'] in Python; usually only makes sense for
255  mappings.
256      
257 <br><br>
258
259 </dd>
260 <dt><big>DPyObject <u>opIndex</u>(int <i>i</i>);
261 </big></dt>
262 <dd>Equivalent to o[i] in Python; usually only makes sense for sequences.
263 <br><br>
264
265 </dd>
266 <dt><big>void <u>opIndexAssign</u>(DPyObject <i>value</i>, DPyObject <i>key</i>);
267 </big></dt>
268 <dd>Equivalent to o[key] = value in Python.
269 <br><br>
270
271 </dd>
272 <dt><big>void <u>opIndexAssign</u>(DPyObject <i>value</i>, char[] <i>key</i>);
273 </big></dt>
274 <dd>Equivalent to o['key'] = value in Python. Usually only makes sense for
275  mappings.
276      
277 <br><br>
278
279 </dd>
280 <dt><big>void <u>opIndexAssign</u>(DPyObject <i>value</i>, int <i>i</i>);
281 </big></dt>
282 <dd>Equivalent to o[i] = value in Python. Usually only makes sense for
283  sequences.
284      
285 <br><br>
286
287 </dd>
288 <dt><big>void <u>delItem</u>(DPyObject <i>key</i>);
289 </big></dt>
290 <dd>Equivalent to del o[key] in Python.
291 <br><br>
292
293 </dd>
294 <dt><big>void <u>delItem</u>(char[] <i>key</i>);
295 </big></dt>
296 <dd>Equivalent to del o['key'] in Python. Usually only makes sense for
297  mappings.
298      
299 <br><br>
300
301 </dd>
302 <dt><big>void <u>delItem</u>(int <i>i</i>);
303 </big></dt>
304 <dd>Equivalent to del o[i] in Python. Usually only makes sense for
305  sequences.
306      
307 <br><br>
308
309 </dd>
310 <dt><big>DPyObject <u>opSlice</u>(int <i>i1</i>, int <i>i2</i>);
311 </big></dt>
312 <dd>Equivalent to o[i1:i2] in Python.
313 <br><br>
314
315 </dd>
316 <dt><big>DPyObject <u>opSlice</u>();
317 </big></dt>
318 <dd>Equivalent to o[:] in Python.
319 <br><br>
320
321 </dd>
322 <dt><big>void <u>opSliceAssign</u>(DPyObject <i>v</i>, int <i>i1</i>, int <i>i2</i>);
323 </big></dt>
324 <dd>Equivalent to o[i1:i2] = v in Python.
325 <br><br>
326
327 </dd>
328 <dt><big>void <u>opSliceAssign</u>(DPyObject <i>v</i>);
329 </big></dt>
330 <dd>Equivalent to o[:] = v in Python.
331 <br><br>
332
333 </dd>
334 <dt><big>void <u>delSlice</u>(int <i>i1</i>, int <i>i2</i>);
335 </big></dt>
336 <dd>Equivalent to del o[i1:i2] in Python.
337 <br><br>
338
339 </dd>
340 <dt><big>void <u>delSlice</u>();
341 </big></dt>
342 <dd>Equivalent to del o[:] in Python.
343 <br><br>
344
345 </dd>
346 <dt><big>int <u>opApply</u>(int delegate(inout DPyObject) <i>dg</i>);
347 </big></dt>
348 <dd>Iterates over the items in a collection, be they the items in a
349  sequence, keys in a dictionary, or some other iteration defined for the
350  DPyObject's type.
351      
352 <br><br>
353
354 </dd>
355 <dt><big>int <u>opApply</u>(int delegate(inout DPyObject, inout DPyObject) <i>dg</i>);
356 </big></dt>
357 <dd>Iterate over (key, value) pairs in a dictionary. If the DPyObject is not
358  a dict, this simply does nothing. (It iterates over no items.) You
359  should not attempt to modify the dictionary while iterating through it,
360  with the exception of modifying values. Adding or removing items while
361  iterating through it is an especially bad idea.
362      
363 <br><br>
364
365 </dd>
366 <dt><big>DPyObject <u>opAdd</u>(DPyObject <i>o</i>);
367 </big></dt>
368 <dd><br><br>
369 </dd>
370 <dt><big>DPyObject <u>opSub</u>(DPyObject <i>o</i>);
371 </big></dt>
372 <dd><br><br>
373 </dd>
374 <dt><big>DPyObject <u>opMul</u>(DPyObject <i>o</i>);
375 </big></dt>
376 <dd><br><br>
377 </dd>
378 <dt><big>DPyObject <u>opMul</u>(int <i>count</i>);
379 </big></dt>
380 <dd>Sequence repetition
381 <br><br>
382
383 </dd>
384 <dt><big>DPyObject <u>opDiv</u>(DPyObject <i>o</i>);
385 </big></dt>
386 <dd><br><br>
387 </dd>
388 <dt><big>DPyObject <u>floorDiv</u>(DPyObject <i>o</i>);
389 </big></dt>
390 <dd><br><br>
391 </dd>
392 <dt><big>DPyObject <u>opMod</u>(DPyObject <i>o</i>);
393 </big></dt>
394 <dd><br><br>
395 </dd>
396 <dt><big>DPyObject <u>divmod</u>(DPyObject <i>o</i>);
397 </big></dt>
398 <dd><br><br>
399 </dd>
400 <dt><big>DPyObject <u>pow</u>(DPyObject <i>o1</i>, DPyObject <i>o2</i> = cast(DPyObject)null);
401 </big></dt>
402 <dd><br><br>
403 </dd>
404 <dt><big>DPyObject <u>opPos</u>();
405 </big></dt>
406 <dd><br><br>
407 </dd>
408 <dt><big>DPyObject <u>opNeg</u>();
409 </big></dt>
410 <dd><br><br>
411 </dd>
412 <dt><big>DPyObject <u>abs</u>();
413 </big></dt>
414 <dd><br><br>
415 </dd>
416 <dt><big>DPyObject <u>opCom</u>();
417 </big></dt>
418 <dd><br><br>
419 </dd>
420 <dt><big>DPyObject <u>opShl</u>(DPyObject <i>o</i>);
421 </big></dt>
422 <dd><br><br>
423 </dd>
424 <dt><big>DPyObject <u>opShr</u>(DPyObject <i>o</i>);
425 </big></dt>
426 <dd><br><br>
427 </dd>
428 <dt><big>DPyObject <u>opAnd</u>(DPyObject <i>o</i>);
429 </big></dt>
430 <dd><br><br>
431 </dd>
432 <dt><big>DPyObject <u>opXor</u>(DPyObject <i>o</i>);
433 </big></dt>
434 <dd><br><br>
435 </dd>
436 <dt><big>DPyObject <u>opOr</u>(DPyObject <i>o</i>);
437 </big></dt>
438 <dd><br><br>
439 </dd>
440 <dt><big>DPyObject <u>opAddAssign</u>(DPyObject <i>o</i>);
441 </big></dt>
442 <dd><br><br>
443 </dd>
444 <dt><big>DPyObject <u>opSubAssign</u>(DPyObject <i>o</i>);
445 </big></dt>
446 <dd><br><br>
447 </dd>
448 <dt><big>DPyObject <u>opMulAssign</u>(DPyObject <i>o</i>);
449 </big></dt>
450 <dd><br><br>
451 </dd>
452 <dt><big>DPyObject <u>opMulAssign</u>(int <i>count</i>);
453 </big></dt>
454 <dd>In-place sequence repetition
455 <br><br>
456
457 </dd>
458 <dt><big>DPyObject <u>opDivAssign</u>(DPyObject <i>o</i>);
459 </big></dt>
460 <dd><br><br>
461 </dd>
462 <dt><big>DPyObject <u>floorDivAssign</u>(DPyObject <i>o</i>);
463 </big></dt>
464 <dd><br><br>
465 </dd>
466 <dt><big>DPyObject <u>opModAssign</u>(DPyObject <i>o</i>);
467 </big></dt>
468 <dd><br><br>
469 </dd>
470 <dt><big>DPyObject <u>powAssign</u>(DPyObject <i>o1</i>, DPyObject <i>o2</i> = cast(DPyObject)null);
471 </big></dt>
472 <dd><br><br>
473 </dd>
474 <dt><big>DPyObject <u>opShlAssign</u>(DPyObject <i>o</i>);
475 </big></dt>
476 <dd><br><br>
477 </dd>
478 <dt><big>DPyObject <u>opShrAssign</u>(DPyObject <i>o</i>);
479 </big></dt>
480 <dd><br><br>
481 </dd>
482 <dt><big>DPyObject <u>opAndAssign</u>(DPyObject <i>o</i>);
483 </big></dt>
484 <dd><br><br>
485 </dd>
486 <dt><big>DPyObject <u>opXorAssign</u>(DPyObject <i>o</i>);
487 </big></dt>
488 <dd><br><br>
489 </dd>
490 <dt><big>DPyObject <u>opOrAssign</u>(DPyObject <i>o</i>);
491 </big></dt>
492 <dd><br><br>
493 </dd>
494 <dt><big>DPyObject <u>asInt</u>();
495 </big></dt>
496 <dd><br><br>
497 </dd>
498 <dt><big>DPyObject <u>asLong</u>();
499 </big></dt>
500 <dd><br><br>
501 </dd>
502 <dt><big>DPyObject <u>asFloat</u>();
503 </big></dt>
504 <dd><br><br>
505 </dd>
506 <dt><big>int <u>toLong</u>();
507 </big></dt>
508 <dd><br><br>
509 </dd>
510 <dt><big>long <u>toLongLong</u>();
511 </big></dt>
512 <dd><br><br>
513 </dd>
514 <dt><big>double <u>toDouble</u>();
515 </big></dt>
516 <dd><br><br>
517 </dd>
518 <dt><big>cdouble <u>toComplex</u>();
519 </big></dt>
520 <dd><br><br>
521 </dd>
522 <dt><big>DPyObject <u>opCat</u>(DPyObject <i>o</i>);
523 </big></dt>
524 <dd>Sequence concatenation
525 <br><br>
526
527 </dd>
528 <dt><big>DPyObject <u>opCatAssign</u>(DPyObject <i>o</i>);
529 </big></dt>
530 <dd>In-place sequence concatenation
531 <br><br>
532
533 </dd>
534 <dt><big>int <u>count</u>(DPyObject <i>v</i>);
535 </big></dt>
536 <dd><br><br>
537 </dd>
538 <dt><big>int <u>index</u>(DPyObject <i>v</i>);
539 </big></dt>
540 <dd><br><br>
541 </dd>
542 <dt><big>DPyObject <u>asList</u>();
543 </big></dt>
544 <dd>Converts any iterable DPyObject to a list
545 <br><br>
546
547 </dd>
548 <dt><big>DPyObject <u>asTuple</u>();
549 </big></dt>
550 <dd>Converts any iterable DPyObject to a tuple
551 <br><br>
552
553 </dd>
554 <dt><big>bool <u>opIn_r</u>(DPyObject <i>v</i>);
555 </big></dt>
556 <dd>Same as "<i>v</i> in this" in Python.
557 <br><br>
558
559 </dd>
560 <dt><big>bool <u>hasKey</u>(DPyObject <i>key</i>);
561 </big></dt>
562 <dd>Same as opIn_r
563 <br><br>
564
565 </dd>
566 <dt><big>bool <u>opIn_r</u>(char[] <i>key</i>);
567 </big></dt>
568 <dd>Same as "'v' in this" in Python.
569 <br><br>
570
571 </dd>
572 <dt><big>bool <u>hasKey</u>(char[] <i>key</i>);
573 </big></dt>
574 <dd>Same as opIn_r
575 <br><br>
576
577 </dd>
578 <dt><big>DPyObject <u>keys</u>();
579 </big></dt>
580 <dd><br><br>
581 </dd>
582 <dt><big>DPyObject <u>values</u>();
583 </big></dt>
584 <dd><br><br>
585 </dd>
586 <dt><big>DPyObject <u>items</u>();
587 </big></dt>
588 <dd><br><br>
589 </dd>
590 </dl>
591 </dd>
592 </dl>
593
594     <hr><small>Page generated by <a href="http://www.digitalmars.com/d/ddoc.html">Ddoc</a>. </small>
595     </body></html>
Note: See TracBrowser for help on using the browser.