1.6. Utilities¶
1.6.1. Containers¶
Raysect has a number of container classes available for fast operations in cython. These are mainly intended for use by developers.
- class raysect.core.containers.LinkedList¶
Basic implementation of a Linked List for fast container operations in cython.
- Parameters
initial_items (object) – Optional iterable for initialising container.
- Variables
length (int) – number of items in the container
first – starting element of container
last – final element of container
- add()¶
Add an item to the end of the container.
- Parameters
value (object) – The item to add to the end of the container.
- add_items()¶
Extend this container with another iterable container.
- Parameters
iterable (object) – Iterable object such as a list or ndarray with which to extend this container.
- get_index()¶
Get the item from the container at specified index.
- Parameters
index (int) – requested item index
- insert()¶
Insert an item at the specified index.
- Parameters
value (object) – item to insert
index (int) – index at which to insert this item
- is_empty()¶
Returns True if the container is empty.
- remove()¶
Remove and return the specified item from the container.
- Parameters
index (int) – Index at which an item will be removed.
- Returns
The object at the specified index position.
- class raysect.core.containers.Stack¶
Bases:
raysect.core.containers.LinkedList
Basic implementation of a Stack container for fast container operations in cython. Inherits attributes and methods from LinkedList.
- pop()¶
Removes and returns the most recently added item from the stack
- Return type
object
- push()¶
Adds an item to the top of the stack
- Parameters
value (object) – Object that will be pushed to top of the stack
- class raysect.core.containers.Queue¶
Bases:
raysect.core.containers.LinkedList
Basic implementation of a Queue container for fast container operations in cython. Inherits attributes and methods from LinkedList.
- next_in_queue()¶
Returns the next object in the queue
- Return type
object