]> granicus.if.org Git - graphviz/commitdiff
mingle genBundleColors: replace a 'unique_ptr' with a 'vector'
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 16 Jan 2022 22:00:51 +0000 (14:00 -0800)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Thu, 20 Jan 2022 01:12:26 +0000 (17:12 -0800)
When the `std::unique_ptr` usage was added here in
869891f9c87b326ddef4de461b92de98ec647b82, I was incorrectly too focused on
preserving the previous property of this being a heap-allocated array. This is
not necessary, and using a `std::vector` instead allows more flexibility. E.g.
depending on the `std::vector` implementation, it could choose to allocate this
array on the stack instead of the heap.

cmd/mingle/minglemain.cpp

index 7f2c88da3a112e64c05c613b13c63bdf2951c20e..42f1990aa3c4129dee7d5ac06641768f2bc83b92 100644 (file)
@@ -18,6 +18,7 @@
 #include <iostream>
 #include <memory>
 #include <sstream>
+#include <vector>
 
 #include <sparse/DotIO.h>
 #include <mingle/edge_bundling.h>
@@ -301,7 +302,7 @@ static void genBundleColors(pedge edge, std::ostream &os, double maxwgt) {
        double len, t, len_total0 = 0;
        int dim = edge->dim;
        double* x = edge->x;
-       std::unique_ptr<double[]> lens(new double[edge->npoints]);
+       std::vector<double> lens(edge->npoints);
 
        for (j = 0; j < edge->npoints - 1; j++){
                len = 0;