Turnstone Operating System
Loading...
Searching...
No Matches
indexer.h File Reference

indexer interface More...

#include <types.h>
#include <memory.h>
#include <iterator.h>

Classes

struct  index_t
 

Macros

#define ___INDEXER_H   0
 
#define indexer_create()   indexer_create_ext(NULL);
 

Typedefs

typedef enum index_key_search_criteria_t index_key_search_criteria_t
 
typedef int8_t(* index_key_comparator_f) (const void *key1, const void *key2)
 
typedef struct index_t index_t
 
typedef void *(* indexer_key_creator_f) (const void *key, void *keyarg)
 
typedef void * indexer_t
 implicit indexer type.
 

Enumerations

enum  index_key_search_criteria_t {
  INDEXER_KEY_COMPARATOR_CRITERIA_NULL , INDEXER_KEY_COMPARATOR_CRITERIA_LESS , INDEXER_KEY_COMPARATOR_CRITERIA_LESSOREQUAL , INDEXER_KEY_COMPARATOR_CRITERIA_EQUAL ,
  INDEXER_KEY_COMPARATOR_CRITERIA_EQUALORGREATER , INDEXER_KEY_COMPARATOR_CRITERIA_GREATER , INDEXER_KEY_COMPARATOR_CRITERIA_BETWEEN
}
 key compression criteria for searching index.
 

Functions

indexer_t indexer_create_with_heap (memory_heap_t *heap)
 
int8_t indexer_destroy (indexer_t idxer)
 
int8_t indexer_register_index (indexer_t idxer, uint64_t idx_id, index_t *idx, indexer_key_creator_f key_creator, void *keyarg)
 
int8_t indexer_index (indexer_t idxer, const void *key, const void *data)
 
const void * indexer_delete (indexer_t idxer, const void *key)
 
iterator_tindexer_search (indexer_t idxer, uint64_t idx_id, const void *key1, const void *key2, const index_key_search_criteria_t criteria)
 

Detailed Description

indexer interface

allow indexing of list_t

This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.

Macro Definition Documentation

◆ ___INDEXER_H

#define ___INDEXER_H   0

prevent duplicate header error macro