From 878f0bb81990170cde5dba934fcd1ae4c2e698ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Date: Sat, 19 May 2018 07:28:18 +0200 Subject: 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 --- commit-slab-decl.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'commit-slab-decl.h') diff --git a/commit-slab-decl.h b/commit-slab-decl.h index fb5220fb7d..adc7b46c83 100644 --- a/commit-slab-decl.h +++ b/commit-slab-decl.h @@ -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 */ -- cgit v1.2.3