Files
bluelib/core/iterator.c
2024-10-24 13:09:16 +01:00

38 lines
660 B
C

#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;
}