Lines Matching defs:index

34 RNode::RNode() : s(nullptr), len(0), index(-1), wildcard_index(-1) {}
36 RNode::RNode(const char *s, size_t len, ssize_t index, ssize_t wildcard_index)
37 : s(s), len(len), index(index), wildcard_index(wildcard_index) {}
67 ssize_t index, ssize_t wildcard_index) {
70 std::make_unique<RNode>(pat.c_str(), pat.size(), index, wildcard_index);
75 ssize_t index = -1, wildcard_index = -1;
79 index = idx;
88 add_node(node, pattern.c_str() + i, pattern.size() - i, index,
105 if (index != -1) {
106 if (node->index != -1) {
107 // Return the existing index for duplicates.
108 return node->index;
110 node->index = index;
135 &node->s[j], node->len - j, node->index, node->wildcard_index);
139 node->index = -1;
145 node->index = index;
154 add_node(node, pattern.c_str() + i, pattern.size() - i, index,
219 if (node->index != -1) {
225 if (node != nullptr && node->index != -1 && node->len == 1) {
233 if (node->index != -1 && offset + n + 1 == node->len &&
244 } else if (node->index != -1 && node->s[node->len - 1] == '/') {
270 if (node->index != -1) {
277 if (node != nullptr && node->index != -1 && node->len == 1) {
291 if (node->index != -1 && n + 1 == node->len && node->s[n] == '/') {
302 } else if (node->index != -1 && node->s[node->len - 1] == '/') {
330 return pattern_is_wildcard ? node->wildcard_index : node->index;
346 return node->index;
374 if (node->index != -1) {
405 return node->index;
410 fprintf(stderr, "%*ss='%.*s', len=%zu, index=%zd\n", depth, "",
411 (int)node->len, node->s, node->len, node->index);