[X2Go-Commits] [pale-moon] 96/294: Add a ClearElementAt API to nsTArray

git-admin at x2go.org git-admin at x2go.org
Sat Apr 27 08:57:54 CEST 2019


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch upstream/28.5.0
in repository pale-moon.

commit bcdacfe2dfb9c9e36de462182562ebf4eec94f36
Author: JustOff <Off.Just.Off at gmail.com>
Date:   Wed Mar 13 18:25:55 2019 +0200

    Add a ClearElementAt API to nsTArray
---
 xpcom/glue/nsTArray.h | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/xpcom/glue/nsTArray.h b/xpcom/glue/nsTArray.h
index 82586a7..64af17b 100644
--- a/xpcom/glue/nsTArray.h
+++ b/xpcom/glue/nsTArray.h
@@ -1503,6 +1503,24 @@ public:
                                                 mozilla::Forward<Item>(aItem));
   }
 
+  // Reconstruct the element at the given index, and return a pointer to the
+  // reconstructed element.  This will destroy the existing element and
+  // default-construct a new one, giving you a state much like what single-arg
+  // InsertElementAt(), or no-arg AppendElement() does, but without changing the
+  // length of the array.
+  //
+  // array[idx] = T()
+  //
+  // would accomplish the same thing as long as T has the appropriate moving
+  // operator=, but some types don't for various reasons.
+  elem_type* ReconstructElementAt(index_type aIndex)
+  {
+    elem_type* elem = &ElementAt(aIndex);
+    elem_traits::Destruct(elem);
+    elem_traits::Construct(elem);
+    return elem;
+  }
+
   // This method searches for the smallest index of an element that is strictly
   // greater than |aItem|. If |aItem| is inserted at this index, the array will
   // remain sorted and |aItem| would come after all elements that are equal to

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/pale-moon.git


More information about the x2go-commits mailing list