Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class NodeIndexHistory(object):
- def __init__(self):
- self._: List[int] = []
- def add(self, node: 'Node'):
- if self.current():
- Node.nodes_storage[node.index].back_str = self.current().back_str
- self._.append(node.index)
- def set_root(self, root_node: 'Node'):
- self._ = [root_node.index]
- def current(self) -> Union['Node', None]:
- if len(self._):
- return Node.nodes_storage[self._[-1]]
- return None
- def can_back(self) -> bool:
- return len(self._) > 1
- def back(self) -> 'Node':
- self._.pop()
- return self.current()
- def __len__(self):
- return len(self._)
- def __repr__(self):
- return '<{cls} nodes_number: {nn}>'.format(cls=self.__class__.__name__, nn=len(self))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement