![]() |
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.
|
Node256 holds up to 256 children. They are indexed by their key byte. More...

Public Member Functions | |
| Node256 (const Node256 &)=delete | |
| Node256 & | operator= (const Node256 &)=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< Node256 > | New (ART &art, Node &node) |
| Get a new Node256 handle and initialize the Node256. | |
| 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_256 = NType::NODE_256 |
| static constexpr uint16_t | CAPACITY = 256 |
| static constexpr uint8_t | SHRINK_THRESHOLD = 36 |
Static Private Member Functions | |
| static void | GrowNode48 (ART &art, Node &node256, Node &node48) |
Private Attributes | |
| uint16_t | count |
| Node | children [CAPACITY] |
Friends | |
| class | Node48 |
Node256 holds up to 256 children. They are indexed by their key byte.
|
inlinestatic |
Get a new Node256 handle and initialize the Node256.

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.