![]() |
Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
|

Public Member Functions | |
| Node48 (const Node48 &)=delete | |
| Node48 & | operator= (const Node48 &)=delete |
| void | ReplaceChild (const uint8_t byte, const Node child) |
| Replace the child at byte. | |
| NodeChildren | ExtractChildren (ArenaAllocator &arena) |
Static Public Member Functions | |
| static NodeHandle< Node48 > | New (ART &art, Node &node) |
| Get a new Node48 handle and initialize the Node48. | |
| static void | InsertChild (ART &art, Node &node, const uint8_t byte, const Node child) |
| Insert a child at byte. | |
| static void | DeleteChild (ART &art, Node &node, const uint8_t byte) |
| Delete the child at byte. | |
| template<class F , class NODE > | |
| static void | Iterator (NODE &n, F &&lambda) |
| template<class NODE > | |
| static unsafe_optional_ptr< Node > | GetChild (NODE &n, const uint8_t byte, const bool unsafe=false) |
| template<class NODE > | |
| static unsafe_optional_ptr< Node > | GetNextChild (NODE &n, uint8_t &byte) |
Static Public Attributes | |
| static constexpr NType | NODE_48 = NType::NODE_48 |
| static constexpr uint8_t | CAPACITY = 48 |
| static constexpr uint8_t | EMPTY_MARKER = 48 |
| static constexpr uint8_t | SHRINK_THRESHOLD = 12 |
Static Private Member Functions | |
| static void | GrowNode16 (ART &art, Node &node48, Node &node16) |
| static void | ShrinkNode256 (ART &art, Node &node48, Node &node256) |
| We shrink at <= Node256::SHRINK_THRESHOLD. | |
Private Attributes | |
| uint8_t | count |
| uint8_t | child_index [Node256::CAPACITY] |
| Node | children [CAPACITY] |
Friends | |
| class | Node16 |
| class | Node256 |
Node48 holds up to 48 children. The child_index array is indexed by the key byte. It contains the position of the child node in the children array.
|
inlinestatic |
Get a new Node48 handle and initialize the Node48.

Replace the child at byte.

|
inlinestatic |
|
inlinestatic |
|
inline |
Extracts the bytes and their respective children. The return value is valid as long as the arena is valid. The node must be freed after calling into this function.