From: Matthew Fernandez Date: Sat, 22 May 2021 04:00:29 +0000 (-0700) Subject: take a vector in generateXConstraints instead of size and C pointer X-Git-Tag: 2.47.3~25^2~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=97e19481135c48412aba341b5d812ba11054f608;p=graphviz take a vector in generateXConstraints instead of size and C pointer This is a stepping stone to removing some manual memory management of the Rectangles collection. --- diff --git a/lib/vpsc/csolve_VPSC.cpp b/lib/vpsc/csolve_VPSC.cpp index 36872cbd2..83d0fffdd 100644 --- a/lib/vpsc/csolve_VPSC.cpp +++ b/lib/vpsc/csolve_VPSC.cpp @@ -43,7 +43,7 @@ int genXConstraints(int n, boxf* bb, Variable** vs, Constraint*** cs,int transit for(int i=0;i &rs, Variable** vars, + Constraint** &cs, const bool useNeighbourLists) { + vector events; - events.reserve(2 * n); - for(int i=0;idesiredPosition=rs[i]->getCentreX(); Node *v = new Node(vars[i],rs[i],rs[i]->getCentreX()); events.emplace_back(Open,v,rs[i]->getMinY()); diff --git a/lib/vpsc/generate-constraints.h b/lib/vpsc/generate-constraints.h index a209d7dcc..68f15a09b 100644 --- a/lib/vpsc/generate-constraints.h +++ b/lib/vpsc/generate-constraints.h @@ -17,6 +17,7 @@ */ #pragma once #include +#include class Rectangle { friend std::ostream& operator <<(std::ostream &os, const Rectangle &r); @@ -76,5 +77,6 @@ struct Variable; struct Constraint; // returns number of constraints generated -int generateXConstraints(const int n, Rectangle** rs, Variable** vars, Constraint** &cs, const bool useNeighbourLists); +int generateXConstraints(std::vector &rs, Variable** vars, + Constraint** &cs, const bool useNeighbourLists); int generateYConstraints(const int n, Rectangle** rs, Variable** vars, Constraint** &cs);