]> git.ipfire.org Git - thirdparty/git.git/commit - git-compat-util.h
introduce container_of macro
authorEric Wong <e@80x24.org>
Sun, 6 Oct 2019 23:30:33 +0000 (23:30 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 7 Oct 2019 01:20:10 +0000 (10:20 +0900)
commit973d5eea7455e1053842f7474c8ec34755f3525b
tree4411e81347bf94abe48b80a8bda6c6e9a28de3cf
parent26b455f21ed7e0c7b0e4e4e69b5ae48545597020
introduce container_of macro

This macro is popular within the Linux kernel for supporting
intrusive data structures such as linked lists, red-black trees,
and chained hash tables while allowing the compiler to do
type checking.

Later patches will use container_of() to remove the limitation
of "hashmap_entry" being location-dependent. This will complete
the transition to compile-time type checking for the hashmap API.

This macro already exists in our source as "list_entry" in
list.h and making "list_entry" an alias to "container_of"
as the Linux kernel has done is a possibility.

Signed-off-by: Eric Wong <e@80x24.org>
Reviewed-by: Derrick Stolee <stolee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-compat-util.h