Data structures

headers of the layer astar

astar/Node.h

Header file for the class template Node, a node of the search graph, for the class template NodePool, the arena the nodes are allocated from, taken from the set of data structures chosen [see Structures.h], and for the infinite cost and the path to a goal.

Class

Description

Node

A node of the search graph

astar/NodeTable.h

Header file for the class template NodeTable, the closed list of the searches: a map from the generated states to their canonical Node, taken from the set of data structures chosen [see Structures.h].

astar/structures/ads/NodeTable.h

Header file for the class template NodeTable of the set of data structures of ADS [see Structures.h], the closed list of A*, on the PointerTable of ADS, on huge pages; NodeTable.h includes it in place of its own.

Class

Description

NodeTable

The closed list, on the PointerTable of ADS, on huge pages

astar/structures/ads/ConcurrentClosed.h

Header file for the class template ConcurrentClosed of the set of data structures of ADS [see Structures.h]: the nodes are kept in the ConcurrentFlatTable of ADS as a set of pointers compared by their states, a word of 8 bytes for each, which a lookup reads and an insertion fills by a compare-and-swap with no lock.

Class

Description

ConcurrentClosed

The closed list shared by the workers, a lock-free set of the nodes

astar/ConcurrentClosed.h

Header file for the class template ConcurrentClosed, the closed list that the workers of SPAStar and MQAStar share, taken from the set of data structures chosen [see Structures.h].

astar/structures/ads/OpenList.h

Header file for the priority queues of the OPEN list of the set of data structures of ADS [see Structures.h], HeapOpenList and BucketOpenList, on the DaryHeap and the BucketQueue of ADS; OpenList.h includes it in place of its own, with the same order of the entries but for the ties of f and g.

Class

Description

HeapOpenList

The OPEN list on the DaryHeap of ADS

BucketOpenList

The OPEN list on the BucketQueue of ADS, for integer costs

astar/OpenList.h

Header file for the priority queues of the OPEN list, taken from the set of data structures chosen [see Structures.h]: the class templates HeapOpenList, a heap for any cost type, and BucketOpenList, a two-level bucket queue for integer costs, and their entries.

Class

Description

OpenEntry

An entry of the OPEN list: the node and the g it had when pushed

astar/Structures.h

Header file for the choice of the set of data structures of A*: the arena of the nodes (NodePool), the closed list (NodeTable), the OPEN lists (HeapOpenList and BucketOpenList) and the adjacency of the explicit graphs and of the grids.