41 Iterator(
LB *listbase,
T *current) : listbase_(listbase), current_(current) {}
46 current_ =
static_cast<T *
>(current_->next);
59 return current_ !=
iterator.current_;
70 return Iterator(listbase_,
static_cast<T *
>(listbase_->first));
75 return Iterator(listbase_,
nullptr);
82 return static_cast<T *
>(
ptr);
88 for (
T *
ptr : *
this) {
void * BLI_findlink(const ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
These structs are the foundation for all linked lists in the library system.
bool operator!=(const Iterator &iterator) const
Iterator(LB *listbase, T *current)
ListBaseWrapperTemplate(LB *listbase)
T * get(uint index) const
int64_t index_of(const T *value) const
ListBaseWrapperTemplate(ListBase &listbase)
ListBaseWrapperTemplate< const ListBase, const T > ConstListBaseWrapper
Vector< T * > listbase_to_vector(ListBase &list)
ListBaseWrapperTemplate< ListBase, T > ListBaseWrapper