55template <
class ObjectType>
96 inline operator ObjectType*()
const noexcept
118 while (
l->item !=
nullptr)
119 l = &(
l->item->nextListItem);
132 for (
auto*
i =
item;
i !=
nullptr;
i =
i->nextListItem)
146 while (--index >= 0 &&
l->item !=
nullptr)
147 l = &(
l->item->nextListItem);
160 while (--index >= 0 &&
l->item !=
nullptr)
161 l = &(
l->item->nextListItem);
167 bool contains (
const ObjectType*
const itemToLookFor)
const noexcept
169 for (
auto*
i =
item;
i !=
nullptr;
i =
i->nextListItem)
170 if (itemToLookFor ==
i)
184 jassert (newItem->nextListItem ==
nullptr);
185 newItem->nextListItem =
item;
199 while (index != 0 &&
l->item !=
nullptr)
201 l = &(
l->item->nextListItem);
205 l->insertNext (newItem);
215 jassert (newItem->nextListItem ==
nullptr);
219 item->nextListItem = oldItem->nextListItem.item;
220 oldItem->nextListItem.item =
nullptr;
242 auto* insertPoint =
this;
244 for (
auto*
i = other.
item;
i !=
nullptr;
i =
i->nextListItem)
246 insertPoint->insertNext (
new ObjectType (*
i));
247 insertPoint = &(insertPoint->item->nextListItem);
259 if (oldItem !=
nullptr)
261 item = oldItem->nextListItem;
262 oldItem->nextListItem.item =
nullptr;
271 void remove (ObjectType*
const itemToRemove)
282 while (
item !=
nullptr)
285 item = oldItem->nextListItem;
298 while (
l->item !=
nullptr)
300 if (
l->item == itemToLookFor)
303 l = &(
l->item->nextListItem);
316 jassert (destArray !=
nullptr);
318 for (
auto*
i =
item;
i !=
nullptr;
i =
i->nextListItem)
327 std::swap (
item, other.item);
347 jassert (endOfListPointer.item ==
nullptr);
351 void append (ObjectType*
const newItem)
noexcept
#define noexcept
Definition DistrhoDefines.h:72
Appender(LinkedListPointer &endOfListPointer) noexcept
Definition juce_LinkedListPointer.h:343
void append(ObjectType *const newItem) noexcept
Definition juce_LinkedListPointer.h:351
LinkedListPointer * endOfList
Definition juce_LinkedListPointer.h:358
LinkedListPointer & getLast() noexcept
Definition juce_LinkedListPointer.h:114
LinkedListPointer * findPointerTo(ObjectType *const itemToLookFor) noexcept
Definition juce_LinkedListPointer.h:294
ObjectType * replaceNext(ObjectType *const newItem) noexcept
Definition juce_LinkedListPointer.h:211
LinkedListPointer(LinkedListPointer &&other) noexcept
Definition juce_LinkedListPointer.h:79
void append(ObjectType *const newItem)
Definition juce_LinkedListPointer.h:231
void deleteAll()
Definition juce_LinkedListPointer.h:280
bool contains(const ObjectType *const itemToLookFor) const noexcept
Definition juce_LinkedListPointer.h:167
ObjectType * removeNext() noexcept
Definition juce_LinkedListPointer.h:255
LinkedListPointer(ObjectType *const headItem) noexcept
Definition juce_LinkedListPointer.h:67
void insertNext(ObjectType *const newItem)
Definition juce_LinkedListPointer.h:180
ObjectType * get() const noexcept
Definition juce_LinkedListPointer.h:102
void addCopyOfList(const LinkedListPointer &other)
Definition juce_LinkedListPointer.h:240
int size() const noexcept
Definition juce_LinkedListPointer.h:128
void insertAtIndex(int index, ObjectType *newItem)
Definition juce_LinkedListPointer.h:194
void copyToArray(ObjectType **destArray) const noexcept
Definition juce_LinkedListPointer.h:313
LinkedListPointer() noexcept
Definition juce_LinkedListPointer.h:61
void swapWith(LinkedListPointer &other) noexcept
Definition juce_LinkedListPointer.h:325
ObjectType * item
Definition juce_LinkedListPointer.h:365
void remove(ObjectType *const itemToRemove)
Definition juce_LinkedListPointer.h:271
int * l
Definition inflate.c:1579
register unsigned i
Definition inflate.c:1575
#define JUCE_BEGIN_IGNORE_WARNINGS_MSVC(warnings)
Definition juce_CompilerWarnings.h:198
#define JUCE_END_IGNORE_WARNINGS_MSVC
Definition juce_CompilerWarnings.h:199
Definition carla_juce.cpp:31
#define const
Definition zconf.h:137