bonefish+mmlr:
Add a DoublyLinkedList::Contains() method to check if a list contains a certain element. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43043 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -359,6 +359,9 @@ public:
|
|||||||
inline Element* GetPrevious(Element* element) const;
|
inline Element* GetPrevious(Element* element) const;
|
||||||
inline Element* GetNext(Element* element) const;
|
inline Element* GetNext(Element* element) const;
|
||||||
|
|
||||||
|
inline bool Contains(Element* element) const;
|
||||||
|
// O(n)!
|
||||||
|
|
||||||
inline int32 Count() const;
|
inline int32 Count() const;
|
||||||
// O(n)!
|
// O(n)!
|
||||||
|
|
||||||
@@ -617,6 +620,20 @@ DOUBLY_LINKED_LIST_CLASS_NAME::GetNext(Element* element) const
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
DOUBLY_LINKED_LIST_TEMPLATE_LIST
|
||||||
|
bool
|
||||||
|
DOUBLY_LINKED_LIST_CLASS_NAME::Contains(Element* _element) const
|
||||||
|
{
|
||||||
|
for (Element* element = First(); element; element = GetNext(element)) {
|
||||||
|
if (element == _element)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Count
|
// Count
|
||||||
DOUBLY_LINKED_LIST_TEMPLATE_LIST
|
DOUBLY_LINKED_LIST_TEMPLATE_LIST
|
||||||
int32
|
int32
|
||||||
|
|||||||
Reference in New Issue
Block a user