1 /** 2 * @file lv_rb_private.h 3 * 4 */ 5 6 #ifndef LV_RB_PRIVATE_H 7 #define LV_RB_PRIVATE_H 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 /********************* 14 * INCLUDES 15 *********************/ 16 17 #include "lv_rb.h" 18 19 /********************* 20 * DEFINES 21 *********************/ 22 23 /********************** 24 * TYPEDEFS 25 **********************/ 26 27 struct _lv_rb_node_t { 28 struct _lv_rb_node_t * parent; 29 struct _lv_rb_node_t * left; 30 struct _lv_rb_node_t * right; 31 lv_rb_color_t color; 32 void * data; 33 }; 34 35 struct _lv_rb_t { 36 lv_rb_node_t * root; 37 lv_rb_compare_t compare; 38 size_t size; 39 }; 40 41 42 /********************** 43 * GLOBAL PROTOTYPES 44 **********************/ 45 46 /********************** 47 * MACROS 48 **********************/ 49 50 #ifdef __cplusplus 51 } /*extern "C"*/ 52 #endif 53 54 #endif /*LV_RB_PRIVATE_H*/ 55