コード例 #1
0
/**
 * Get value that pointed by iterator.
 */
void iterator_get_value(iterator_t it_iter, void* pv_value)
{
    assert(pv_value != NULL);
    assert(_iterator_is_valid(it_iter));
    assert(_iterator_limit_type(it_iter, _INPUT_ITERATOR));

    switch (it_iter._t_containertype) {
        case _VECTOR_CONTAINER:
            _vector_iterator_get_value(it_iter, pv_value);
            break;
        case _LIST_CONTAINER:
            _list_iterator_get_value(it_iter, pv_value);
            break;
        case _DEQUE_CONTAINER:
            _deque_iterator_get_value(it_iter, pv_value);
            break;
						/*
        case _SLIST_CONTAINER:
            _slist_iterator_get_value(it_iter, pv_value);
            break;
						*/
        case _SET_CONTAINER:
            _set_iterator_get_value(it_iter, pv_value);
            break;
        case _MAP_CONTAINER:
            _map_iterator_get_value(it_iter, pv_value);
            break;
        case _HASH_SET_CONTAINER:
            _hash_set_iterator_get_value(it_iter, pv_value);
            break;
        case _HASH_MAP_CONTAINER:
            _hash_map_iterator_get_value(it_iter, pv_value);
            break;
        case _BASIC_STRING_CONTAINER:
            _basic_string_iterator_get_value(it_iter, pv_value);
            break;
        default:
            assert(false);
            break;
    }
}
コード例 #2
0
/*
 * test _map_iterator_get_value
 */
UT_CASE_DEFINATION(_map_iterator_get_value)
void test__map_iterator_get_value__null_corepos(void** state)
{
    map_t* pt_map = create_map(int, int);
    map_iterator_t it_iter;
    int elem = 0;
    map_init_ex(pt_map, NULL);

    it_iter = map_begin(pt_map);

    it_iter._t_pos._t_treepos._pby_corepos = NULL;
    expect_assert_failure(_map_iterator_get_value(it_iter, &elem));

    map_destroy(pt_map);
}

void test__map_iterator_get_value__null_tree(void** state)
{
    map_t* pt_map = create_map(int, int);
    map_iterator_t it_iter;
    int elem = 0;
    map_init_ex(pt_map, NULL);

    it_iter = map_begin(pt_map);

    it_iter._t_pos._t_treepos._pt_tree = NULL;
    expect_assert_failure(_map_iterator_get_value(it_iter, &elem));