From e6f3c6c62111b37cc97db2d61a1c765695ee401a Mon Sep 17 00:00:00 2001 From: guyingzhao Date: Sun, 6 Apr 2025 12:18:23 +0200 Subject: C++: Array: Add const Node& variants to Append, Insert --- src/Array.cpp | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'src/Array.cpp') diff --git a/src/Array.cpp b/src/Array.cpp index 7051ed9..de1259e 100644 --- a/src/Array.cpp +++ b/src/Array.cpp @@ -134,7 +134,7 @@ size_t Array::size() const { return _array.size(); } -void Array::Append(Node* node) +void Array::Append(const Node* node) { if (node) { @@ -145,7 +145,12 @@ void Array::Append(Node* node) } } -void Array::Insert(Node* node, unsigned int pos) +void Array::Append(const Node& node) +{ + Append(&node); +} + +void Array::Insert(const Node* node, unsigned int pos) { if (node) { @@ -158,6 +163,11 @@ void Array::Insert(Node* node, unsigned int pos) } } +void Array::Insert(const Node &node, unsigned int pos) +{ + Insert(&node, pos); +} + void Array::Remove(Node* node) { if (node) @@ -183,10 +193,15 @@ void Array::Remove(unsigned int pos) _array.erase(it); } -unsigned int Array::GetNodeIndex(Node* node) const +unsigned int Array::GetNodeIndex(const Node* node) const { std::vector::const_iterator it = std::find(_array.begin(), _array.end(), node); return std::distance (_array.begin(), it); } +unsigned int Array::GetNodeIndex(const Node& node) const +{ + return GetNodeIndex(&node); +} + } // namespace PList -- cgit v1.1-32-gdbae