/** * Create map container auxiliary function. */ bool_t _create_map_auxiliary(map_t* pmap_map, const char* s_typename) { char s_typenameex[_TYPE_NAME_SIZE + 1]; bool_t b_result = false; assert(pmap_map != NULL); assert(s_typename != NULL); b_result = _create_pair_auxiliary(&pmap_map->_pair_temp, s_typename); if(!b_result) { return false; } memset(s_typenameex, '\0', _TYPE_NAME_SIZE + 1); strncpy(s_typenameex, "pair_t", _TYPE_NAME_SIZE); strncat(s_typenameex, "<", _TYPE_NAME_SIZE); strncat(s_typenameex, s_typename, _TYPE_NAME_SIZE - 8); /* 8 is length of "pair_t<>" */ strncat(s_typenameex, ">", _TYPE_NAME_SIZE); #ifdef CSTL_MAP_AVL_TREE b_result = _create_avl_tree_auxiliary(&pmap_map->_t_tree, s_typenameex); #else b_result = _create_rb_tree_auxiliary(&pmap_map->_t_tree, s_typenameex); #endif pmap_map->_bfun_keycompare = NULL; pmap_map->_bfun_valuecompare = NULL; return b_result; }
/** * Create set container auxiliary function. */ bool_t _create_set_auxiliary(set_t* pset_set, const char* s_typename) { assert(pset_set != NULL); assert(s_typename != NULL); #ifdef CSTL_SET_AVL_TREE return _create_avl_tree_auxiliary(&pset_set->_t_tree, s_typename); #else return _create_rb_tree_auxiliary(&pset_set->_t_tree, s_typename); #endif }