mirror of
https://github.com/espressif/openthread.git
synced 2026-08-13 14:17:47 +00:00
[common] add BinarySearch module and Stringfy (#7294)
This commit adds set of generic binary search related functions in OpenThread core under `BinarySearch` module. The binary search module replaces and enhances the existing `Lookup` table module (which was limited to search based on strings and mainly used by CLI to map from command string to a handler function). This commit also adds a new class `Stringfy` in `string.hpp` to help convert from a set of `uint16_t` values (e.g., a non-sequential `enum`) to strings using binary search in a table. The new methods are used for converting `Coap::Code` and `IpProto` enumerations to corresponding strings.
This commit is contained in:
@@ -309,6 +309,13 @@ void TestStringToLowercase(void)
|
||||
printf(" -- PASS\n");
|
||||
}
|
||||
|
||||
static_assert(ot::AreStringsInOrder("a", "b"), "AreStringsInOrder() failed");
|
||||
static_assert(ot::AreStringsInOrder("aa", "aaa"), "AreStringsInOrder() failed");
|
||||
static_assert(ot::AreStringsInOrder("", "a"), "AreStringsInOrder() failed");
|
||||
static_assert(!ot::AreStringsInOrder("cd", "cd"), "AreStringsInOrder() failed");
|
||||
static_assert(!ot::AreStringsInOrder("z", "abcd"), "AreStringsInOrder() failed");
|
||||
static_assert(!ot::AreStringsInOrder("0", ""), "AreStringsInOrder() failed");
|
||||
|
||||
} // namespace ot
|
||||
|
||||
int main(void)
|
||||
|
||||
Reference in New Issue
Block a user