regina 7.3.0__cp310-cp310-macosx_11_0_arm64.whl → 7.3.1.1__cp310-cp310-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of regina might be problematic. Click here for more details.

@@ -0,0 +1,808 @@
1
+ Help on instancemethod in module regina.engine:
2
+
3
+ boundaryComponents(...)
4
+ boundaryComponents(self: regina.Triangulation6) -> <internal>.ListView[regina.BoundaryComponent6]
5
+
6
+ Returns an object that allows iteration through and random access to
7
+ all boundary components of this triangulation.
8
+
9
+ Note that, in Regina's standard dimensions, each ideal vertex forms
10
+ its own boundary component, and some invalid vertices do also. See the
11
+ BoundaryComponent class notes for full details on what constitutes a
12
+ boundary component in standard and non-standard dimensions.
13
+
14
+ The object that is returned is lightweight, and can be happily copied
15
+ by value. The C++ type of the object is subject to change, so C++
16
+ users should use ``auto`` (just like this declaration does).
17
+
18
+ The returned object is guaranteed to be an instance of ListView, which
19
+ means it offers basic container-like functions and supports range-
20
+ based ``for`` loops. Note that the elements of the list will be
21
+ pointers, so your code might look like:
22
+
23
+ ```
24
+ for (BoundaryComponent<dim>* b : tri.boundaryComponents()) { ... }
25
+ ```
26
+
27
+ The object that is returned will remain up-to-date and valid for as
28
+ long as the triangulation exists. In contrast, however, remember that
29
+ the individual boundary components _within_ this list will be deleted
30
+ and replaced each time the triangulation changes. Therefore it is best
31
+ to treat this object as temporary only, and to call
32
+ boundaryComponents() again each time you need it.
33
+
34
+ Returns:
35
+ access to the list of all boundary components.
36
+
37
+ Help on instancemethod in module regina.engine:
38
+
39
+ components(...)
40
+ components(self: regina.Triangulation6) -> <internal>.ListView[regina.Component6]
41
+
42
+ Returns an object that allows iteration through and random access to
43
+ all components of this triangulation.
44
+
45
+ The object that is returned is lightweight, and can be happily copied
46
+ by value. The C++ type of the object is subject to change, so C++
47
+ users should use ``auto`` (just like this declaration does).
48
+
49
+ The returned object is guaranteed to be an instance of ListView, which
50
+ means it offers basic container-like functions and supports range-
51
+ based ``for`` loops. Note that the elements of the list will be
52
+ pointers, so your code might look like:
53
+
54
+ ```
55
+ for (Component<dim>* c : tri.components()) { ... }
56
+ ```
57
+
58
+ The object that is returned will remain up-to-date and valid for as
59
+ long as the triangulation exists. In contrast, however, remember that
60
+ the individual component objects _within_ this list will be deleted
61
+ and replaced each time the triangulation changes. Therefore it is best
62
+ to treat this object as temporary only, and to call components() again
63
+ each time you need it.
64
+
65
+ Returns:
66
+ access to the list of all components.
67
+
68
+ Help on instancemethod in module regina.engine:
69
+
70
+ faces(...)
71
+ faces(self: regina.Triangulation6, arg0: typing.SupportsInt) -> <internal>.ListView[regina.Vertex6] | <internal>.ListView[regina.Edge6] | <internal>.ListView[regina.Triangle6] | <internal>.ListView[regina.Tetrahedron6] | <internal>.ListView[regina.Pentachoron6] | <internal>.ListView[regina.Face6_5]
72
+
73
+ Returns an object that allows iteration through and random access to
74
+ all *subdim*-faces of this triangulation, in a way that is optimised
75
+ for Python programmers.
76
+
77
+ C++ users should not use this routine. The return type must be fixed
78
+ at compile time, and so it is a std::variant that can hold any of the
79
+ lightweight return types from the templated faces<subdim>() function.
80
+ This means that the return value will still need compile-time
81
+ knowledge of *subdim* to extract and use the appropriate face objects.
82
+ However, once you know *subdim* at compile time, you are much better
83
+ off using the (simpler and faster) routine faces<subdim>() instead.
84
+
85
+ For Python users, this routine is much more useful: the return type
86
+ can be chosen at runtime, and so this routine returns a Python list of
87
+ Face<dim, subdim> objects (holding all the *subdim*-faces of the
88
+ triangulation), which you can use immediately.
89
+
90
+ Exception ``InvalidArgument``:
91
+ The face dimension *subdim* is outside the supported range (i.e.,
92
+ negative, or greater than or equal to *dim*).
93
+
94
+ Parameter ``subdim``:
95
+ the face dimension; this must be between 0 and *dim*-1 inclusive.
96
+
97
+ Returns:
98
+ access to the list of all *subdim*-faces.
99
+
100
+ Help on instancemethod in module regina.engine:
101
+
102
+ face(...)
103
+ face(self: regina.Triangulation6, arg0: typing.SupportsInt, arg1: typing.SupportsInt) -> regina.Vertex6 | regina.Edge6 | regina.Triangle6 | regina.Tetrahedron6 | regina.Pentachoron6 | regina.Face6_5
104
+
105
+ Returns the requested *subdim*-face of this triangulation, in a way
106
+ that is optimised for Python programmers.
107
+
108
+ For C++ users, this routine is not very useful: since precise types
109
+ must be know at compile time, this routine returns a std::variant *v*
110
+ that could store a pointer to any class Face<dim, ...>. This means you
111
+ cannot access the face directly: you will still need some kind of
112
+ compile-time knowledge of *subdim* before you can extract and use an
113
+ appropriate Face<dim, subdim> object from *v*. However, once you know
114
+ *subdim* at compile time, you are better off using the (simpler and
115
+ faster) routine face<subdim>() instead.
116
+
117
+ For Python users, this routine is much more useful: the return type
118
+ can be chosen at runtime, and so this routine simply returns a
119
+ Face<dim, subdim> object of the appropriate face dimension that you
120
+ can use immediately.
121
+
122
+ The specific return type for C++ programmers will be
123
+ std::variant<Face<dim, 0>*, ..., Face<dim, dim-1>*>.
124
+
125
+ Exception ``InvalidArgument``:
126
+ The face dimension *subdim* is outside the supported range (i.e.,
127
+ negative, or greater than or equal to *dim*).
128
+
129
+ Parameter ``subdim``:
130
+ the face dimension; this must be between 0 and *dim*-1 inclusive.
131
+
132
+ Parameter ``index``:
133
+ the index of the desired face, ranging from 0 to
134
+ countFaces<subdim>()-1 inclusive.
135
+
136
+ Returns:
137
+ the requested face.
138
+
139
+ Help on instancemethod in module regina.engine:
140
+
141
+ simplices(...)
142
+ simplices(self: regina.Triangulation6) -> <internal>.ListView[regina.Simplex6]
143
+
144
+ Returns an object that allows iteration through and random access to
145
+ all top-dimensional simplices in this triangulation.
146
+
147
+ The object that is returned is lightweight, and can be happily copied
148
+ by value. The C++ type of the object is subject to change, so C++
149
+ users should use ``auto`` (just like this declaration does).
150
+
151
+ The returned object is guaranteed to be an instance of ListView, which
152
+ means it offers basic container-like functions and supports range-
153
+ based ``for`` loops. Note that the elements of the list will be
154
+ pointers, so your code might look like:
155
+
156
+ ```
157
+ for (Simplex<dim>* s : tri.simplices()) { ... }
158
+ ```
159
+
160
+ The object that is returned will remain up-to-date and valid for as
161
+ long as the triangulation exists: even as simplices are added and/or
162
+ removed, it will always reflect the simplices that are currently in
163
+ the triangulation. Nevertheless, it is recommended to treat this
164
+ object as temporary only, and to call simplices() again each time you
165
+ need it.
166
+
167
+ Returns:
168
+ access to the list of all top-dimensional simplices.
169
+
170
+ Help on instancemethod in module regina.engine:
171
+
172
+ faces(...)
173
+ faces(self: regina.Triangulation4, arg0: typing.SupportsInt) -> <internal>.ListView[regina.Vertex4] | <internal>.ListView[regina.Edge4] | <internal>.ListView[regina.Triangle4] | <internal>.ListView[regina.Tetrahedron4]
174
+
175
+ Returns an object that allows iteration through and random access to
176
+ all *subdim*-faces of this triangulation, in a way that is optimised
177
+ for Python programmers.
178
+
179
+ C++ users should not use this routine. The return type must be fixed
180
+ at compile time, and so it is a std::variant that can hold any of the
181
+ lightweight return types from the templated faces<subdim>() function.
182
+ This means that the return value will still need compile-time
183
+ knowledge of *subdim* to extract and use the appropriate face objects.
184
+ However, once you know *subdim* at compile time, you are much better
185
+ off using the (simpler and faster) routine faces<subdim>() instead.
186
+
187
+ For Python users, this routine is much more useful: the return type
188
+ can be chosen at runtime, and so this routine returns a Python list of
189
+ Face<dim, subdim> objects (holding all the *subdim*-faces of the
190
+ triangulation), which you can use immediately.
191
+
192
+ Exception ``InvalidArgument``:
193
+ The face dimension *subdim* is outside the supported range (i.e.,
194
+ negative, or greater than or equal to *dim*).
195
+
196
+ Parameter ``subdim``:
197
+ the face dimension; this must be between 0 and *dim*-1 inclusive.
198
+
199
+ Returns:
200
+ access to the list of all *subdim*-faces.
201
+
202
+ Help on instancemethod in module regina.engine:
203
+
204
+ face(...)
205
+ face(self: regina.Triangulation4, arg0: typing.SupportsInt, arg1: typing.SupportsInt) -> regina.Vertex4 | regina.Edge4 | regina.Triangle4 | regina.Tetrahedron4
206
+
207
+ Returns the requested *subdim*-face of this triangulation, in a way
208
+ that is optimised for Python programmers.
209
+
210
+ For C++ users, this routine is not very useful: since precise types
211
+ must be know at compile time, this routine returns a std::variant *v*
212
+ that could store a pointer to any class Face<dim, ...>. This means you
213
+ cannot access the face directly: you will still need some kind of
214
+ compile-time knowledge of *subdim* before you can extract and use an
215
+ appropriate Face<dim, subdim> object from *v*. However, once you know
216
+ *subdim* at compile time, you are better off using the (simpler and
217
+ faster) routine face<subdim>() instead.
218
+
219
+ For Python users, this routine is much more useful: the return type
220
+ can be chosen at runtime, and so this routine simply returns a
221
+ Face<dim, subdim> object of the appropriate face dimension that you
222
+ can use immediately.
223
+
224
+ The specific return type for C++ programmers will be
225
+ std::variant<Face<dim, 0>*, ..., Face<dim, dim-1>*>.
226
+
227
+ Exception ``InvalidArgument``:
228
+ The face dimension *subdim* is outside the supported range (i.e.,
229
+ negative, or greater than or equal to *dim*).
230
+
231
+ Parameter ``subdim``:
232
+ the face dimension; this must be between 0 and *dim*-1 inclusive.
233
+
234
+ Parameter ``index``:
235
+ the index of the desired face, ranging from 0 to
236
+ countFaces<subdim>()-1 inclusive.
237
+
238
+ Returns:
239
+ the requested face.
240
+
241
+ Help on instancemethod in module regina.engine:
242
+
243
+ embeddings(...)
244
+ embeddings(self: regina.Vertex6) -> <internal>.ListView[regina.VertexEmbedding6]
245
+
246
+ Returns an object that allows iteration through and random access to
247
+ all of the ways in which this face appears within a top-dimensional
248
+ simplex of the underlying triangluation.
249
+
250
+ The object that is returned is lightweight, and can be happily copied
251
+ by value. The C++ type of the object is subject to change, so C++
252
+ users should use ``auto`` (just like this declaration does).
253
+
254
+ The returned object is guaranteed to be an instance of ListView, which
255
+ means it offers basic container-like functions and supports range-
256
+ based ``for`` loops. The elements of the list will be read-only
257
+ objects of type FaceEmbedding<dim, subdim>. For example, your code
258
+ might look like:
259
+
260
+ ```
261
+ Face<dim, subdim>* face = ...;
262
+ for (const auto& emb : face->embeddings()) { ... }
263
+ ```
264
+
265
+ In most cases, the ordering of appearances is arbitrary. The exception
266
+ is for codimension 2, where these appearances are ordered in a way
267
+ that follows the link around the face (which in codimension 2 is
268
+ always a path or a cycle).
269
+
270
+ Using embeddings() is equivalent to iterating over the face itself. It
271
+ generates a tiny amount of extra overhead, but also may be considered
272
+ more readable. In particular, the code above is equivalent to both of
273
+ the following alternatives:
274
+
275
+ ```
276
+ Face<dim, subdim>* face = ...;
277
+ for (const auto& emb : *face) { ... }
278
+ ```
279
+
280
+ ```
281
+ Face<dim, subdim>* face = ...;
282
+ for (size_t i = 0; i < face->degree(); ++i) {
283
+ const auto& emb = face->embedding(i);
284
+ ...
285
+ }
286
+ ```
287
+
288
+ Returns:
289
+ access to the list of all appearances of this face within a top-
290
+ dimensional simplex of the underlying triangulation.
291
+
292
+ Help on instancemethod in module regina.engine:
293
+
294
+ embeddings(...)
295
+ embeddings(self: regina.Vertex3) -> <internal>.ListView[regina.VertexEmbedding3]
296
+
297
+ Returns an object that allows iteration through and random access to
298
+ all of the ways in which this face appears within a top-dimensional
299
+ simplex of the underlying triangluation.
300
+
301
+ The object that is returned is lightweight, and can be happily copied
302
+ by value. The C++ type of the object is subject to change, so C++
303
+ users should use ``auto`` (just like this declaration does).
304
+
305
+ The returned object is guaranteed to be an instance of ListView, which
306
+ means it offers basic container-like functions and supports range-
307
+ based ``for`` loops. The elements of the list will be read-only
308
+ objects of type FaceEmbedding<dim, subdim>. For example, your code
309
+ might look like:
310
+
311
+ ```
312
+ Face<dim, subdim>* face = ...;
313
+ for (const auto& emb : face->embeddings()) { ... }
314
+ ```
315
+
316
+ In most cases, the ordering of appearances is arbitrary. The exception
317
+ is for codimension 2, where these appearances are ordered in a way
318
+ that follows the link around the face (which in codimension 2 is
319
+ always a path or a cycle).
320
+
321
+ Using embeddings() is equivalent to iterating over the face itself. It
322
+ generates a tiny amount of extra overhead, but also may be considered
323
+ more readable. In particular, the code above is equivalent to both of
324
+ the following alternatives:
325
+
326
+ ```
327
+ Face<dim, subdim>* face = ...;
328
+ for (const auto& emb : *face) { ... }
329
+ ```
330
+
331
+ ```
332
+ Face<dim, subdim>* face = ...;
333
+ for (size_t i = 0; i < face->degree(); ++i) {
334
+ const auto& emb = face->embedding(i);
335
+ ...
336
+ }
337
+ ```
338
+
339
+ Returns:
340
+ access to the list of all appearances of this face within a top-
341
+ dimensional simplex of the underlying triangulation.
342
+
343
+ Help on instancemethod in module regina.engine:
344
+
345
+ vertex(...)
346
+ vertex(self: regina.Edge6, arg0: typing.SupportsInt) -> regina.Vertex6
347
+
348
+ A dimension-specific alias for face<0>().
349
+
350
+ This alias is available for all facial dimensions *subdim*.
351
+
352
+ See face() for further information.
353
+
354
+ Help on instancemethod in module regina.engine:
355
+
356
+ triangulation(...)
357
+ triangulation(self: regina.BoundaryComponent3) -> regina.Triangulation3
358
+
359
+ Returns the triangulation to which this boundary component belongs.
360
+
361
+ Returns:
362
+ a reference to the triangulation containing this boundary
363
+ component.
364
+
365
+ Help on instancemethod in module regina.engine:
366
+
367
+ packet(...)
368
+ packet(self: regina.Link) -> regina.PacketOfLink
369
+
370
+ Returns the packet that holds this data, if there is one.
371
+
372
+ If this object is being held by a packet *p* of type PacketOf<Held>,
373
+ then that packet *p* will be returned. Otherwise, if this is a
374
+ "standalone" object of type Held, then this routine will return
375
+ ``None``.
376
+
377
+ There is a special case when dealing with a packet *q* that holds a
378
+ SnapPea triangulation. Here *q* is of type
379
+ PacketOf<SnapPeaTriangulation>, and it holds a Triangulation<3>
380
+ "indirectly" in the sense that Packetof<SnapPeaTriangulation> derives
381
+ from SnapPeaTriangulation, which in turn derives from
382
+ Triangulation<3>. In this scenario:
383
+
384
+ * calling Triangulation<3>::packet() will return ``None``, since there
385
+ is no "direct" PacketOf<Triangulation<3>>;
386
+
387
+ * calling SnapPeaTriangulation::packet() will return the enclosing
388
+ packet *q*, since there is a PacketOf<SnapPeaTriangulation>;
389
+
390
+ * calling the special routine Triangulation<3>::inAnyPacket() will
391
+ also return the "indirect" enclosing packet *q*.
392
+
393
+ The function inAnyPacket() is specific to Triangulation<3>, and is not
394
+ offered for other *Held* types.
395
+
396
+ Returns:
397
+ the packet that holds this data, or ``None`` if this data is not
398
+ (directly) held by a packet.
399
+
400
+ Help on instancemethod in module regina.engine:
401
+
402
+ __init__(...)
403
+ __init__(*args, **kwargs)
404
+ Overloaded function.
405
+
406
+ 1. __init__(self: regina.Integer) -> None
407
+
408
+ Initialises this integer to zero.
409
+
410
+ 2. __init__(self: regina.Integer, arg0: typing.SupportsInt) -> None
411
+
412
+ Initialises this integer to the given value.
413
+
414
+ Python:
415
+ In Python, this is the only native-integer constructor available.
416
+
417
+ Parameter ``value``:
418
+ the new value of this integer.
419
+
420
+ 3. __init__(self: regina.Integer, arg0: regina.Integer) -> None
421
+
422
+ Initialises this integer to the given value.
423
+
424
+ Parameter ``value``:
425
+ the new value of this integer.
426
+
427
+ 4. __init__(self: regina.Integer, arg0: regina.LargeInteger) -> None
428
+
429
+ Initialises this integer to the given value.
430
+
431
+ Precondition:
432
+ The given integer is not infinite.
433
+
434
+ Parameter ``value``:
435
+ the new value of this integer.
436
+
437
+ 5. __init__(self: regina.Integer, arg0: typing.SupportsInt) -> None
438
+
439
+ Initialises this to the given native Python integer.
440
+
441
+ The argument is of the Python ``int`` type, which Python uses to store
442
+ integers of arbitrary magnitude (much like Regina does with its
443
+ Integer and LargeInteger classes).
444
+
445
+ Parameter ``value``:
446
+ the new value of this integer.
447
+
448
+ 6. __init__(self: regina.Integer, arg0: typing.SupportsFloat) -> None
449
+
450
+ Initialises this integer to the truncation of the given real number.
451
+
452
+ Parameter ``value``:
453
+ the real number to be truncated.
454
+
455
+ 7. __init__(self: regina.Integer, arg0: str, base: typing.SupportsInt = 10) -> None
456
+
457
+ Initialises this integer to the given value which is represented as a
458
+ string of digits in a given base.
459
+
460
+ If not specified, the base defaults to 10. If the given base is zero,
461
+ the base will be automatically determined. If the given string begins
462
+ with ``0x`` or ``0X``, the base will be assumed to be 16. Otherwise,
463
+ if the string begins with ``0``, the base will be assumed to be 8.
464
+ Otherwise it will be taken as base 10.
465
+
466
+ If the template argument *supportInfinity* is ``True``, then any
467
+ string beginning with "inf" (after any initial whitesapce) will be
468
+ interpreted as infinity.
469
+
470
+ Whitespace may be present at the beginning or the end of the given
471
+ string, and will simply be ignored.
472
+
473
+ For finer details on how the string parsing works, see strtol() from
474
+ the standard C library (on which this method is based).
475
+
476
+ Precondition:
477
+ The given base is zero, or is between 2 and 36 inclusive.
478
+
479
+ Precondition:
480
+ The given string represents an integer in the given base, with
481
+ optional whitespace beforehand.
482
+
483
+ Exception ``InvalidArgument``:
484
+ The given string was not a valid large integer representation.
485
+
486
+ Parameter ``value``:
487
+ the new value of this integer, represented as a string of digits
488
+ in base *base*.
489
+
490
+ Parameter ``base``:
491
+ the base in which *value* is given.
492
+
493
+ Help on instancemethod in module regina.engine:
494
+
495
+ __init__(...)
496
+ __init__(*args, **kwargs)
497
+ Overloaded function.
498
+
499
+ 1. __init__(self: regina.LargeInteger) -> None
500
+
501
+ Initialises this integer to zero.
502
+
503
+ 2. __init__(self: regina.LargeInteger, arg0: typing.SupportsInt) -> None
504
+
505
+ Initialises this integer to the given value.
506
+
507
+ Python:
508
+ In Python, this is the only native-integer constructor available.
509
+
510
+ Parameter ``value``:
511
+ the new value of this integer.
512
+
513
+ 3. __init__(self: regina.LargeInteger, arg0: regina.LargeInteger) -> None
514
+
515
+ Initialises this integer to the given value.
516
+
517
+ Parameter ``value``:
518
+ the new value of this integer.
519
+
520
+ 4. __init__(self: regina.LargeInteger, arg0: regina.Integer) -> None
521
+
522
+ Initialises this integer to the given value.
523
+
524
+ Precondition:
525
+ The given integer is not infinite.
526
+
527
+ Parameter ``value``:
528
+ the new value of this integer.
529
+
530
+ 5. __init__(self: regina.LargeInteger, arg0: typing.SupportsInt) -> None
531
+
532
+ Initialises this to the given native Python integer.
533
+
534
+ The argument is of the Python ``int`` type, which Python uses to store
535
+ integers of arbitrary magnitude (much like Regina does with its
536
+ Integer and LargeInteger classes).
537
+
538
+ Parameter ``value``:
539
+ the new value of this integer.
540
+
541
+ 6. __init__(self: regina.LargeInteger, arg0: typing.SupportsFloat) -> None
542
+
543
+ Initialises this integer to the truncation of the given real number.
544
+
545
+ Parameter ``value``:
546
+ the real number to be truncated.
547
+
548
+ 7. __init__(self: regina.LargeInteger, arg0: str, base: typing.SupportsInt = 10) -> None
549
+
550
+ Initialises this integer to the given value which is represented as a
551
+ string of digits in a given base.
552
+
553
+ If not specified, the base defaults to 10. If the given base is zero,
554
+ the base will be automatically determined. If the given string begins
555
+ with ``0x`` or ``0X``, the base will be assumed to be 16. Otherwise,
556
+ if the string begins with ``0``, the base will be assumed to be 8.
557
+ Otherwise it will be taken as base 10.
558
+
559
+ If the template argument *supportInfinity* is ``True``, then any
560
+ string beginning with "inf" (after any initial whitesapce) will be
561
+ interpreted as infinity.
562
+
563
+ Whitespace may be present at the beginning or the end of the given
564
+ string, and will simply be ignored.
565
+
566
+ For finer details on how the string parsing works, see strtol() from
567
+ the standard C library (on which this method is based).
568
+
569
+ Precondition:
570
+ The given base is zero, or is between 2 and 36 inclusive.
571
+
572
+ Precondition:
573
+ The given string represents an integer in the given base, with
574
+ optional whitespace beforehand.
575
+
576
+ Exception ``InvalidArgument``:
577
+ The given string was not a valid large integer representation.
578
+
579
+ Parameter ``value``:
580
+ the new value of this integer, represented as a string of digits
581
+ in base *base*.
582
+
583
+ Parameter ``base``:
584
+ the base in which *value* is given.
585
+
586
+ Help on ListView_Triangulation3_vertices in module regina.engine.internal object:
587
+
588
+ class ListView_Triangulation3_vertices(pybind11_builtins.pybind11_object)
589
+ | A lightweight object that can be used for iteration and random access
590
+ | to all elements of a given list.
591
+ |
592
+ | This access is read-only, in the sense that both the list itself and
593
+ | the list elements are read-only. (Of course, if the list elements are
594
+ | non-const pointers then this means that the _pointers_ cannot be
595
+ | reassigned to point to different objects, but the objects they _point_
596
+ | to can still be modified.)
597
+ |
598
+ | Typically a ListView would be returned from a class member function to
599
+ | grant the user some basic read-only access to a much richer private
600
+ | data structure, in a way that allows the internal data structure to
601
+ | change at some later date without affecting the public API.
602
+ |
603
+ | The ListView class supports several different ways of representing a
604
+ | list:
605
+ |
606
+ | * If your list is stored using a container class (e.g., std::vector or
607
+ | regina::MarkedVector), then you can create a ListView directly from
608
+ | the container using the syntax ``ListView(container)``. This uses
609
+ | the generic ListView<Container> class template. There is no need to
610
+ | explicitly specify the ListView template arguments.
611
+ |
612
+ | * If your list is stored using a C-style array whose size is not known
613
+ | at compile-time, you can create a ListView using either the syntax
614
+ | ``ListView(array, size)`` or ``ListView(begin, end)``. Here *array*
615
+ | is a pointer to the beginning of the array, and *begin* and *end*
616
+ | behave as an iterator pair (so ``begin == array`` and ``end == array
617
+ | + size``). This syntax uses the specialised ListView<Element*> class
618
+ | template. Again, there is no need to explicitly specify the ListView
619
+ | template arguments.
620
+ |
621
+ | * If your list is stored using a C-style array whose size is fixed at
622
+ | compile-time (i.e., the type is ``Element[n]`` for some constant
623
+ | *n*), you can create a ListView using the syntax
624
+ | ``ListView(array)``. Once again, there is no need to explicitly
625
+ | specify the ListView template arguments.
626
+ |
627
+ | End users should always store ListView objects using ``auto``, not by
628
+ | explicitly writing out the full ListView type. One reason for this is
629
+ | that, if/when Regina moves to C++20, the ListView class will most
630
+ | likely be removed completely (in favour of the new C++20 ranges
631
+ | library).
632
+ |
633
+ | ListView objects are small enough to pass by value and swap with
634
+ | std::swap(), with no need for any specialised move operations or swap
635
+ | functions.
636
+ |
637
+ | Python:
638
+ | The ListView classes are deliberately difficult to access: they
639
+ | live within their own private Python namespaces, and are all give
640
+ | the same class name (*ListView*). You would typically only
641
+ | interact with a ListView when it is returned from a function
642
+ | (e.g., ``Link.crossings()``), and in most cases you would simply
643
+ | iterate over this resulting ListView without ever knowing its
644
+ | exact type.
645
+ |
646
+ | Template parameter ``Container``:
647
+ | the internal type of the list that this object grants access to.
648
+ | This type must support at least the same operations as this class
649
+ | itself, except for the copy semantics. In particular, both
650
+ | std::vector and regina::MarkedVector types (as well as many other
651
+ | standard container types) are suitable.
652
+ |
653
+ | Method resolution order:
654
+ | ListView_Triangulation3_vertices
655
+ | pybind11_builtins.pybind11_object
656
+ | builtins.object
657
+ |
658
+ | Methods defined here:
659
+ |
660
+ | __eq__(...)
661
+ | __eq__(*args, **kwargs)
662
+ | Overloaded function.
663
+ |
664
+ | 1. __eq__(self: <internal>.ListView[regina.Vertex3], arg0: <internal>.ListView[regina.Vertex3]) -> bool
665
+ |
666
+ | Determines whether this and the given list view are accessing the same
667
+ | underlying container.
668
+ |
669
+ | Here the containers are compared by _reference_ (i.e., they must be
670
+ | the same container object at the same location in memory; it is not
671
+ | enough to be two containers with identical contents).
672
+ |
673
+ | Parameter ``other``:
674
+ | the list view to compare with this.
675
+ |
676
+ | Returns:
677
+ | ``True`` if and only if this and the given list use the same
678
+ | underlying container.
679
+ |
680
+ | 2. __eq__(self: <internal>.ListView[regina.Vertex3], arg0: None) -> bool
681
+ |
682
+ | Always returns ``False``, since an object of this type is never equal
683
+ | to ``None``.
684
+ |
685
+ | __getitem__(...)
686
+ | __getitem__(self: <internal>.ListView[regina.Vertex3], arg0: typing.SupportsInt) -> regina.Vertex3
687
+ |
688
+ | Returns the requested element of this list.
689
+ |
690
+ | Parameter ``index``:
691
+ | indicates which element to return; this must be between 0 and
692
+ | size()-1 inclusive.
693
+ |
694
+ | Returns:
695
+ | the (*index*)th element in this list.
696
+ |
697
+ | __init__(...)
698
+ | __init__(self: regina.internal.ListView_Triangulation3_vertices, arg0: <internal>.ListView[regina.Vertex3]) -> None
699
+ |
700
+ | Creates a new copy of the given list view.
701
+ |
702
+ | __iter__(...)
703
+ | __iter__(self: <internal>.ListView[regina.Vertex3]) -> collections.abc.Iterator[regina.Vertex3]
704
+ |
705
+ | Returns a Python iterator over the elements of this list.
706
+ |
707
+ | Returns:
708
+ | an iterator over the elements of this list.
709
+ |
710
+ | __len__(...)
711
+ | __len__(self: <internal>.ListView[regina.Vertex3]) -> int
712
+ |
713
+ | Returns the number of elements in this list.
714
+ |
715
+ | Python:
716
+ | This is also used to implement the Python special method
717
+ | __len__().
718
+ |
719
+ | Returns:
720
+ | the number of elements.
721
+ |
722
+ | __ne__(...)
723
+ | __ne__(*args, **kwargs)
724
+ | Overloaded function.
725
+ |
726
+ | 1. __ne__(self: <internal>.ListView[regina.Vertex3], arg0: <internal>.ListView[regina.Vertex3]) -> bool
727
+ |
728
+ | Determines whether this and the given list view are accessing
729
+ | different underlying containers.
730
+ |
731
+ | Here the containers are compared by _reference_ (i.e., to be
732
+ | considered equal they must be the same container object at the same
733
+ | location in memory; it is not enough to be two containers with
734
+ | identical contents).
735
+ |
736
+ | Parameter ``other``:
737
+ | the list view to compare with this.
738
+ |
739
+ | Returns:
740
+ | ``True`` if and only if this and the given list use different
741
+ | underlying containers.
742
+ |
743
+ | 2. __ne__(self: <internal>.ListView[regina.Vertex3], arg0: None) -> bool
744
+ |
745
+ | Always returns ``True``, since an object of this type is never equal
746
+ | to ``None``.
747
+ |
748
+ | __repr__(...)
749
+ | __repr__(self: <internal>.ListView[regina.Vertex3]) -> str
750
+ |
751
+ | __str__(...)
752
+ | __str__(self: <internal>.ListView[regina.Vertex3]) -> str
753
+ |
754
+ | back(...)
755
+ | back(self: <internal>.ListView[regina.Vertex3]) -> regina.Vertex3
756
+ |
757
+ | Returns the last element of this list.
758
+ |
759
+ | Precondition:
760
+ | This list is not empty.
761
+ |
762
+ | Returns:
763
+ | the last element in this list.
764
+ |
765
+ | empty(...)
766
+ | empty(self: <internal>.ListView[regina.Vertex3]) -> bool
767
+ |
768
+ | Determines if this list is empty.
769
+ |
770
+ | Returns:
771
+ | ``True`` if and only if this list is empty.
772
+ |
773
+ | front(...)
774
+ | front(self: <internal>.ListView[regina.Vertex3]) -> regina.Vertex3
775
+ |
776
+ | Returns the first element of this list.
777
+ |
778
+ | Precondition:
779
+ | This list is not empty.
780
+ |
781
+ | Returns:
782
+ | the first element in this list.
783
+ |
784
+ | size(...)
785
+ | size(self: <internal>.ListView[regina.Vertex3]) -> int
786
+ |
787
+ | Returns the number of elements in this list.
788
+ |
789
+ | Python:
790
+ | This is also used to implement the Python special method
791
+ | __len__().
792
+ |
793
+ | Returns:
794
+ | the number of elements.
795
+ |
796
+ | ----------------------------------------------------------------------
797
+ | Data and other attributes defined here:
798
+ |
799
+ | __hash__ = None
800
+ |
801
+ | equalityType = <EqualityType.BY_VALUE: 1>
802
+ |
803
+ | ----------------------------------------------------------------------
804
+ | Static methods inherited from pybind11_builtins.pybind11_object:
805
+ |
806
+ | __new__(*args, **kwargs) from pybind11_builtins.pybind11_type
807
+ | Create and return a new object. See help(type) for accurate signature.
808
+