timor.configuration_search.AssemblyIterator =========================================== .. py:module:: timor.configuration_search.AssemblyIterator Classes ------- .. autoapisummary:: timor.configuration_search.AssemblyIterator.AssemblyIterator Module Contents --------------- .. py:class:: AssemblyIterator(db) .. autoapi-inheritance-diagram:: timor.configuration_search.AssemblyIterator.AssemblyIterator :parts: 1 :private-bases: Abstract base class for a set of iterators that yield module assemblies. This is a base class for assembly iterators. An assembly iterator offers an iterator behavior that returns valid module assemblies (=robots) based on a set of rules (generator-specific + global rules) and the database. :param db: Module assemblies returned by __next__ will be based on this DB instance. .. py:attribute:: __class_getitem__ .. py:method:: __iter__() Iterators are self-iterable: https://peps.python.org/pep-0234/ .. py:method:: __len__() Subclasses that can determine the length without iterating through every element of self should do so .. py:method:: __next__() :abstractmethod: Implementing next defines how assemblies are built by the iterator .. py:attribute:: __slots__ :value: () .. py:method:: __subclasshook__(C) :classmethod: .. py:attribute:: _db :type: timor.Module.ModulesDB .. py:property:: db :type: timor.Module.ModulesDB Wrapper property to avoid resetting the db .. py:method:: reset() :abstractmethod: Should reset the iterator to the initial state .. py:property:: state :type: any :abstractmethod: The state should suffice to deterministically determine the next element returned by self.__next__