merge(third_party/git): Merge squashed git subtree at v2.23.0
Merge commit '1b593e1ea4' as 'third_party/git'
This commit is contained in:
commit
7ef0d62730
3629 changed files with 1139935 additions and 0 deletions
51
third_party/git/commit-slab.h
vendored
Normal file
51
third_party/git/commit-slab.h
vendored
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
#ifndef COMMIT_SLAB_H
|
||||
#define COMMIT_SLAB_H
|
||||
|
||||
#include "commit-slab-decl.h"
|
||||
#include "commit-slab-impl.h"
|
||||
|
||||
/*
|
||||
* define_commit_slab(slabname, elemtype) creates boilerplate code to define
|
||||
* a new struct (struct slabname) that is used to associate a piece of data
|
||||
* of elemtype to commits, and a few functions to use that struct.
|
||||
*
|
||||
* After including this header file, using:
|
||||
*
|
||||
* define_commit_slab(indegree, int);
|
||||
*
|
||||
* will let you call the following functions:
|
||||
*
|
||||
* - int *indegree_at(struct indegree *, struct commit *);
|
||||
*
|
||||
* This function locates the data associated with the given commit in
|
||||
* the indegree slab, and returns the pointer to it. The location to
|
||||
* store the data is allocated as necessary.
|
||||
*
|
||||
* - int *indegree_peek(struct indegree *, struct commit *);
|
||||
*
|
||||
* This function is similar to indegree_at(), but it will return NULL
|
||||
* until a call to indegree_at() was made for the commit.
|
||||
*
|
||||
* - void init_indegree(struct indegree *);
|
||||
* void init_indegree_with_stride(struct indegree *, int);
|
||||
*
|
||||
* Initializes the indegree slab that associates an array of integers
|
||||
* to each commit. 'stride' specifies how big each array is. The slab
|
||||
* that is initialized by the variant without "_with_stride" associates
|
||||
* each commit with an array of one integer.
|
||||
*
|
||||
* - void clear_indegree(struct indegree *);
|
||||
*
|
||||
* Empties the slab. The slab can be reused with the same stride
|
||||
* without calling init_indegree() again or can be reconfigured to a
|
||||
* different stride by calling init_indegree_with_stride().
|
||||
*
|
||||
* Call this function before the slab falls out of scope to avoid
|
||||
* leaking memory.
|
||||
*/
|
||||
|
||||
#define define_commit_slab(slabname, elemtype) \
|
||||
declare_commit_slab(slabname, elemtype); \
|
||||
implement_static_commit_slab(slabname, elemtype)
|
||||
|
||||
#endif /* COMMIT_SLAB_H */
|
||||
Loading…
Add table
Add a link
Reference in a new issue