commit-slab: support shared commit-slab
define_shared_commit_slab() could be used in a header file to define a commit-slab. One of these C files must include commit-slab-impl.h and "call" implement_shared_commit_slab(). Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
a9f1f1f9f8
commit
878f0bb819
@ -27,4 +27,17 @@ struct slabname { \
|
||||
(stride), 0, NULL \
|
||||
}
|
||||
|
||||
#define declare_commit_slab_prototypes(slabname, elemtype) \
|
||||
\
|
||||
void init_ ##slabname## _with_stride(struct slabname *s, unsigned stride); \
|
||||
void init_ ##slabname(struct slabname *s); \
|
||||
void clear_ ##slabname(struct slabname *s); \
|
||||
elemtype *slabname## _at_peek(struct slabname *s, const struct commit *c, int add_if_missing); \
|
||||
elemtype *slabname## _at(struct slabname *s, const struct commit *c); \
|
||||
elemtype *slabname## _peek(struct slabname *s, const struct commit *c)
|
||||
|
||||
#define define_shared_commit_slab(slabname, elemtype) \
|
||||
declare_commit_slab(slabname, elemtype); \
|
||||
declare_commit_slab_prototypes(slabname, elemtype)
|
||||
|
||||
#endif /* COMMIT_SLAB_HDR_H */
|
||||
|
||||
Reference in New Issue
Block a user