libgit2/src/index.h
Vicent Marti 86d7e1ca6f Fix searching in git_vector
We now store only one sorting callback that does entry comparison. This
is used when sorting the entries using a quicksort, and when looking for
a specific entry with the new search methods.

The following search methods now exist:

	git_vector_search(vector, entry)
	git_vector_search2(vector, custom_search_callback, key)

	git_vector_bsearch(vector, entry)
	git_vector_bsearch2(vector, custom_search_callback, key)

The sorting state of the vector is now stored internally.

Signed-off-by: Vicent Marti <tanoku@gmail.com>
2011-03-03 20:23:52 +02:00

35 lines
551 B
C

#ifndef INCLUDE_index_h__
#define INCLUDE_index_h__
#include "fileops.h"
#include "filebuf.h"
#include "vector.h"
#include "git2/odb.h"
#include "git2/index.h"
struct git_index_tree {
char *name;
struct git_index_tree *parent;
struct git_index_tree **children;
size_t children_count;
size_t entries;
git_oid oid;
};
typedef struct git_index_tree git_index_tree;
struct git_index {
git_repository *repository;
char *index_file_path;
time_t last_modified;
git_vector entries;
unsigned int on_disk:1;
git_index_tree *tree;
};
#endif