|
Monado OpenXR Runtime
|
A collection of strings for extensions. More...
#include "u_extension_list.h"#include "u_extension_list.hpp"#include <algorithm>#include <cstring>#include <string>#include <string_view>
Data Structures | |
| struct | u_extension_list |
| struct | u_extension_list_builder |
| struct | ExtensionSortKey |
| Helper class for sorting extension names. More... | |
Enumerations | |
| enum class | ExtensionType { KHR = 0 , EXT = 1 , VENDOR = 2 , EXPERIMENTAL = 3 } |
Functions | |
| static bool | is_experimental_vendor (std::string_view vendor) |
| Check if a vendor string represents an experimental extension. More... | |
| static ExtensionSortKey | get_extension_sort_key (std::string_view name) |
| Get the extension type and API prefix for sorting purposes. More... | |
| struct u_extension_list * | u_extension_list_create () |
| struct u_extension_list * | u_extension_list_create_from_array (const char *const *arr, uint32_t size) |
| uint32_t | u_extension_list_get_size (const struct u_extension_list *uel) |
| const char *const * | u_extension_list_get_data (const struct u_extension_list *uel) |
| bool | u_extension_list_contains (const struct u_extension_list *uel, const char *str) |
| bool | u_extension_list_contains_len (const struct u_extension_list *uel, const char *str, size_t len) |
| void | u_extension_list_destroy (struct u_extension_list **list_ptr) |
| struct u_extension_list_builder * | u_extension_list_builder_create () |
| struct u_extension_list_builder * | u_extension_list_builder_create_with_capacity (uint32_t capacity) |
| struct u_extension_list_builder * | u_extension_list_builder_create_from_array (const char *const *arr, uint32_t size) |
| int | u_extension_list_builder_append (struct u_extension_list_builder *uelb, const char *str) |
| int | u_extension_list_builder_append_len (struct u_extension_list_builder *uelb, const char *str, size_t len) |
| int | u_extension_list_builder_append_array (struct u_extension_list_builder *uelb, const char *const *arr, uint32_t size) |
| int | u_extension_list_builder_append_unique (struct u_extension_list_builder *uelb, const char *str) |
| int | u_extension_list_builder_append_unique_len (struct u_extension_list_builder *uelb, const char *str, size_t len) |
| struct u_extension_list * | u_extension_list_builder_build (struct u_extension_list_builder **builder_ptr) |
| struct u_extension_list * | u_extension_list_builder_build_sorted_for_extensions (struct u_extension_list_builder **builder_ptr) |
| void | u_extension_list_builder_destroy (struct u_extension_list_builder **builder_ptr) |
A collection of strings for extensions.
|
static |
Get the extension type and API prefix for sorting purposes.
Returns an ExtensionSortKey for comparison.
Referenced by xrt::auxiliary::util::ExtensionListBuilder::sortForExtensions().
|
static |
Check if a vendor string represents an experimental extension.
Experimental extensions have vendor codes ending with 'X' optionally followed by digits.
Examples: NVX, AMDX, NVX1, NVX2, INTELX
Special case: QNX is a legitimate vendor (QNX operating system), not experimental.