kernel: add c++ support

This commit is contained in:
2023-03-20 20:41:39 +00:00
parent a4d850cc03
commit 2bfb6bcd78
41 changed files with 333 additions and 38 deletions

View File

@@ -14,7 +14,7 @@
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
@@ -25,6 +25,10 @@
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
/* if your custom structure contains a btree_node_t (i.e. it can be part of a btree),
you can use this macro to convert a btree_node_t* to a your_type*
@@ -94,8 +98,8 @@
} \
\
btree_insert_fixup(tree, &node->container_node_member); \
}
}
/* defines a node insertion function.
this function should be used for trees with complex node keys that cannot be directly compared.
a comparator for your keys must be supplied.
@@ -114,9 +118,9 @@
Which implements the following:
return -1 if a < b
return 0 if a == b
return 1 if a > b
return -1 if a < b
return 0 if a == b
return 1 if a > b
You would use the following call to generate an insert function for a tree with this node type:
@@ -370,4 +374,8 @@ static inline unsigned short btree_height(btree_node_t *node)
return node->b_height;
}
#ifdef __cplusplus
}
#endif
#endif