コード例 #1
0
ファイル: wi-list.c プロジェクト: ProfDrLuigi/zanka
wi_list_t * wi_list_init_with_callbacks(wi_list_t *list, wi_list_callbacks_t callbacks) {
	list->callbacks				= callbacks;
	list->node_chunks_offset	= _wi_list_nodes_per_page;
	list->lock					= wi_rwlock_init(wi_rwlock_alloc());
	
	return list;
}
コード例 #2
0
ファイル: wi-set.c プロジェクト: ProfDrLuigi/zanka
wi_set_t * wi_set_init_with_capacity_and_callbacks(wi_set_t *set, wi_uinteger_t capacity, wi_set_callbacks_t callbacks) {
	set->callbacks				= callbacks;
	set->bucket_chunks_offset	= _wi_set_buckets_per_page;
	set->min_count				= WI_MAX(wi_exp2m1(wi_log2(capacity) + 1), _WI_SET_MIN_COUNT);
	set->buckets_count			= set->min_count;
	set->buckets				= wi_malloc(set->buckets_count * sizeof(_wi_set_bucket_t *));
	set->lock					= wi_rwlock_init(wi_rwlock_alloc());
	
	return set;
}
コード例 #3
0
ファイル: wi-array.c プロジェクト: ProfDrLuigi/zanka
wi_array_t * wi_array_init_with_capacity_and_callbacks(wi_array_t *array, wi_uinteger_t capacity, wi_array_callbacks_t callbacks) {
	array->callbacks			= callbacks;
	array->item_chunks_offset	= _wi_array_items_per_page;
	array->items_count			= WI_MAX(wi_exp2m1(wi_log2(capacity) + 1), _WI_ARRAY_MIN_COUNT);
	array->min_count			= array->items_count;
	array->items				= wi_malloc(array->items_count * sizeof(_wi_array_item_t *));
	array->lock					= wi_rwlock_init(wi_rwlock_alloc());
	
	return array;
}
コード例 #4
0
ファイル: wi-dictionary.c プロジェクト: asvitkine/phxd
wi_dictionary_t * wi_dictionary_init_with_capacity_and_callbacks(wi_dictionary_t *dictionary, wi_uinteger_t capacity, wi_dictionary_key_callbacks_t key_callbacks, wi_dictionary_value_callbacks_t value_callbacks) {
	dictionary->key_callbacks			= key_callbacks;
	dictionary->value_callbacks			= value_callbacks;
	dictionary->bucket_chunks_offset	= _wi_dictionary_buckets_per_page;
	dictionary->min_count				= WI_MAX(wi_exp2m1(wi_log2(capacity) + 1), _WI_DICTIONARY_MIN_COUNT);
	dictionary->buckets_count			= dictionary->min_count;
	dictionary->buckets					= wi_malloc(dictionary->buckets_count * sizeof(_wi_dictionary_bucket_t *));
	dictionary->lock					= wi_rwlock_init(wi_rwlock_alloc());
	
	return dictionary;
}