Files
bluelib/core/iterator.c

38 lines
660 B
C
Raw Normal View History

2024-08-03 07:54:28 +01:00
#include <blue/core/iterator.h>
b_status b_iterator_cleanup(struct b_iterator *it)
{
if (it->it_ops && it->it_ops->it_close) {
return it->it_ops->it_close(it);
}
return B_SUCCESS;
}
bool b_iterator_next(struct b_iterator *it)
{
if (it->it_ops && it->it_ops->it_next) {
return it->it_ops->it_next(it);
}
return false;
}
b_status b_iterator_erase(struct b_iterator *it)
{
if (it->it_ops && it->it_ops->it_erase) {
return it->it_ops->it_erase(it);
}
return B_ERR_NOT_SUPPORTED;
}
bool b_iterator_is_valid(const struct b_iterator *it)
{
if (it->it_ops && it->it_ops->it_is_valid) {
return it->it_ops->it_is_valid(it);
}
return false;
}