Add a linked list constructor initializing from an enumerator

This commit is contained in:
Martin Willi
2012-09-11 16:18:28 +02:00
parent f942588f95
commit dc7b79d8a5
2 changed files with 27 additions and 0 deletions
+19
View File
@@ -572,3 +572,22 @@ linked_list_t *linked_list_create()
return &this->public;
}
/*
* See header.
*/
linked_list_t *linked_list_create_from_enumerator(enumerator_t *enumerator)
{
linked_list_t *list;
void *item;
list = linked_list_create();
while (enumerator->enumerate(enumerator, &item))
{
list->insert_last(list, item);
}
enumerator->destroy(enumerator);
return list;
}
+8
View File
@@ -299,4 +299,12 @@ struct linked_list_t {
*/
linked_list_t *linked_list_create(void);
/**
* Creates a linked list from an enumerator.
*
* @enumerator enumerator over void*, gets destroyed
* @return linked_list_t object, containing enumerated values
*/
linked_list_t *linked_list_create_from_enumerator(enumerator_t *enumerator);
#endif /** LINKED_LIST_H_ @}*/