Exemplo n.º 1
0
/**
 * 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;
}
Exemplo n.º 2
0
/**
 * 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
}