summaryrefslogtreecommitdiff
path: root/src/Bottleneck/include/gudhi/Planar_neighbors_finder.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Bottleneck/include/gudhi/Planar_neighbors_finder.h')
-rw-r--r--src/Bottleneck/include/gudhi/Planar_neighbors_finder.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/Bottleneck/include/gudhi/Planar_neighbors_finder.h b/src/Bottleneck/include/gudhi/Planar_neighbors_finder.h
index 3d04aa97..e558239d 100644
--- a/src/Bottleneck/include/gudhi/Planar_neighbors_finder.h
+++ b/src/Bottleneck/include/gudhi/Planar_neighbors_finder.h
@@ -45,7 +45,7 @@ class Abstract_planar_neighbors_finder {
virtual void remove(int v_point_index) = 0;
virtual bool contains(int v_point_index) const = 0;
virtual int pull_near(int u_point_index) = 0;
- virtual std::list<int>* pull_all_near(int u_point_index);
+ virtual std::unique_ptr< std::list<int> > pull_all_near(int u_point_index);
protected:
const Persistence_diagrams_graph& g;
@@ -74,10 +74,10 @@ typedef Naive_pnf Planar_neighbors_finder;
Abstract_planar_neighbors_finder::Abstract_planar_neighbors_finder(const Persistence_diagrams_graph& g, double r) :
g(g), r(r) { }
-inline Abstract_planar_neighbors_finder::~Abstract_planar_neighbors_finder() { }
+/* inline */ Abstract_planar_neighbors_finder::~Abstract_planar_neighbors_finder() { }
-inline std::list<int>* Abstract_planar_neighbors_finder::pull_all_near(int u_point_index) {
- std::list<int>* all_pull = new std::list<int>();
+/* inline */ std::unique_ptr< std::list<int> > Abstract_planar_neighbors_finder::pull_all_near(int u_point_index) {
+ std::unique_ptr< std::list<int> > all_pull(new std::list<int>);
int last_pull = pull_near(u_point_index);
while (last_pull != null_point_index()) {
all_pull->emplace_back(last_pull);
@@ -89,19 +89,19 @@ inline std::list<int>* Abstract_planar_neighbors_finder::pull_all_near(int u_poi
Naive_pnf::Naive_pnf(const Persistence_diagrams_graph& g, double r) :
Abstract_planar_neighbors_finder(g, r), candidates() { }
-inline void Naive_pnf::add(int v_point_index) {
+/* inline */ void Naive_pnf::add(int v_point_index) {
candidates.emplace(v_point_index);
}
-inline void Naive_pnf::remove(int v_point_index) {
+/* inline */ void Naive_pnf::remove(int v_point_index) {
candidates.erase(v_point_index);
}
-inline bool Naive_pnf::contains(int v_point_index) const {
+/* inline */ bool Naive_pnf::contains(int v_point_index) const {
return (candidates.count(v_point_index) > 0);
}
-inline int Naive_pnf::pull_near(int u_point_index) {
+/* inline */ int Naive_pnf::pull_near(int u_point_index) {
for (auto it = candidates.begin(); it != candidates.end(); ++it)
if (g.distance(u_point_index, *it) <= r) {
int tmp = *it;