Add _swap for dict
This commit is contained in:
1 parent
dc87d7e137
commit
75c07d9ac7
2 files changed
+23
No files matched your search
@@ -99,6 +99,20 @@
|
|||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
static inline void \
|
static inline void \
|
||||||
|
M_C3(dict_, name, _swap)(M_C3(dict_,name,_t) d1, \
|
||||||
|
M_C3(dict_,name,_t) d2) \
|
||||||
|
{ \
|
||||||
|
DICTI_CONTRACT(name, d1); \
|
||||||
|
DICTI_CONTRACT(name, d2); \
|
||||||
|
M_SWAP (size_t, d1->used, d2->used); \
|
||||||
|
M_SWAP (size_t, d1->lower_limit, d2->lower_limit); \
|
||||||
|
M_SWAP (size_t, d1->upper_limit, d2->upper_limit); \
|
||||||
|
M_C3(array_list_dict_pair_,name,_swap)(d1->table, d2->table); \
|
||||||
|
DICTI_CONTRACT(name, d1); \
|
||||||
|
DICTI_CONTRACT(name, d2); \
|
||||||
|
} \
|
||||||
|
\
|
||||||
|
static inline void \
|
||||||
M_C3(dict_, name, _move)(M_C3(dict_,name,_t) map, \
|
M_C3(dict_, name, _move)(M_C3(dict_,name,_t) map, \
|
||||||
M_C3(dict_,name,_t) org) \
|
M_C3(dict_,name,_t) org) \
|
||||||
{ \
|
{ \
|
||||||
@@ -454,6 +468,7 @@
|
|||||||
CLEAR(M_C3(dict_, type, _clear)), \
|
CLEAR(M_C3(dict_, type, _clear)), \
|
||||||
INIT_MOVE(M_C3(dict_, type, _init_move)), \
|
INIT_MOVE(M_C3(dict_, type, _init_move)), \
|
||||||
MOVE(M_C3(dict_, type, _move)), \
|
MOVE(M_C3(dict_, type, _move)), \
|
||||||
|
SWAP(M_C3(dict_, type, _swap)), \
|
||||||
TYPE(M_C3(dict_, type, _t)), \
|
TYPE(M_C3(dict_, type, _t)), \
|
||||||
SUBTYPE(M_C3(dict_pair_,type,_t)), \
|
SUBTYPE(M_C3(dict_pair_,type,_t)), \
|
||||||
IT_TYPE(M_C3(dict_it_,type,_t)), \
|
IT_TYPE(M_C3(dict_it_,type,_t)), \
|
||||||
|
|||||||
@@ -64,6 +64,14 @@ static void test_data(void)
|
|||||||
dict_str_set_at(dict, *array_string_cget(v, i), *array_string_cget(v, (i+1) % data_size));
|
dict_str_set_at(dict, *array_string_cget(v, i), *array_string_cget(v, (i+1) % data_size));
|
||||||
}
|
}
|
||||||
assert(dict_str_size(dict) == 1227176);
|
assert(dict_str_size(dict) == 1227176);
|
||||||
|
|
||||||
|
dict_str_t dict2;
|
||||||
|
dict_str_init (dict2);
|
||||||
|
dict_str_swap (dict, dict2);
|
||||||
|
assert(dict_str_size(dict) == 0);
|
||||||
|
assert(dict_str_size(dict2) == 1227176);
|
||||||
|
dict_str_clear (dict2);
|
||||||
|
|
||||||
dict_str_clear (dict);
|
dict_str_clear (dict);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user