--- /dev/null
+/* EINA - EFL data type library
+ * Copyright (C) 2002-2008 Carsten Haitzler, Vincent Torri, Jorge Luis Zapata Muga
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library;
+ * if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef EINA_RBTREE_INLINE_H_
+#define EINA_RBTREE_INLINE_H_
+
+static inline Eina_Rbtree *
+eina_rbtree_inline_lookup(Eina_Rbtree *root, const void *key, int length, Eina_Rbtree_Cmp_Key_Cb cmp)
+{
+ int result;
+
+ while (root)
+ {
+ result = cmp(root, key, length);
+ if (result == 0) return root;
+
+ root = root->son[result < 0 ? 0 : 1];
+ }
+
+ return NULL;
+}
+
+#endif
EAPI Eina_Rbtree *eina_rbtree_inline_insert(Eina_Rbtree *root, Eina_Rbtree *node, Eina_Rbtree_Cmp_Node_Cb cmp);
EAPI Eina_Rbtree *eina_rbtree_inline_remove(Eina_Rbtree *root, Eina_Rbtree *node, Eina_Rbtree_Cmp_Node_Cb cmp);
-EAPI Eina_Rbtree *eina_rbtree_inline_lookup(Eina_Rbtree *root, const void *key, int length, Eina_Rbtree_Cmp_Key_Cb cmp);
+
+static inline Eina_Rbtree *eina_rbtree_inline_lookup(Eina_Rbtree *root, const void *key, int length, Eina_Rbtree_Cmp_Key_Cb cmp);
EAPI Eina_Iterator *eina_rbtree_iterator_prefix(const Eina_Rbtree *root);
EAPI Eina_Iterator *eina_rbtree_iterator_infix(const Eina_Rbtree *root);
EAPI Eina_Iterator *eina_rbtree_iterator_postfix(const Eina_Rbtree *root);
+#include "eina_inline_rbtree.x"
+
#endif
return root;
}
-EAPI Eina_Rbtree *
-eina_rbtree_inline_lookup(Eina_Rbtree *root, const void *key, int length, Eina_Rbtree_Cmp_Key_Cb cmp)
-{
- int result;
-
- while (root)
- {
- result = cmp(root, key, length);
- if (result == 0) return root;
-
- root = root->son[result < 0 ? 0 : 1];
- }
-
- return NULL;
-}
-
EAPI Eina_Iterator *
eina_rbtree_iterator_prefix(const Eina_Rbtree *root)
{